ฉันมีไฟล์ PDF หลายไฟล์และฉันต้องการรวมไฟล์เหล่านี้โดยใช้ pdftk ฉันสามารถทำสิ่งนี้ได้
C:\pdftk *.pdf cat output merged.pdf
วิธีนี้จะรวมไฟล์โดยใช้ลำดับตัวอักษร แต่ฉันต้องการสั่งซื้อไฟล์โดยใช้วันที่สร้าง (เวลาประทับ) เป็นไปได้อย่างไร? ฉันใช้ Win XP
ฉันมีไฟล์ PDF หลายไฟล์และฉันต้องการรวมไฟล์เหล่านี้โดยใช้ pdftk ฉันสามารถทำสิ่งนี้ได้
C:\pdftk *.pdf cat output merged.pdf
วิธีนี้จะรวมไฟล์โดยใช้ลำดับตัวอักษร แต่ฉันต้องการสั่งซื้อไฟล์โดยใช้วันที่สร้าง (เวลาประทับ) เป็นไปได้อย่างไร? ฉันใช้ Win XP
คำตอบ:
ฉันคิดว่าวิธีที่ดีที่สุดคือการเพิ่มวันที่ลงในชื่อไฟล์ คุณสามารถทำได้ด้วยBulk Rename Utilityมันเป็นยูทิลิตี้ที่ทรงพลังและฟรี
หรือคุณสามารถใช้ซอฟต์แวร์อื่นเพื่อรวม / แยกไฟล์ pdf ด้วย gui เช่น PDFsam
คุณสามารถสร้างรายการไฟล์ PDF ที่เรียงลำดับตามวันที่สร้าง:
dir /b /tc /od *.pdf > my-pdf-filelist.txt
(ถ้าคุณต้องการรายการ - แทนที่จะเรียงตามเวลาการสร้าง - การเรียงลำดับ happing ตามเวลาเข้าถึงใช้ ' /ta' แทน ' /tc' ถ้าคุณต้องการเรียงตามเวลาที่ปรับเปลี่ยนให้ใช้ ' /tw')
จากนั้นใช้รายการนี้เพื่อสร้าง listfile ชั่วคราวอีกอันหนึ่งที่มีการประทับเวลาและชื่อไฟล์ PDF ที่เพิ่มวันที่ + เวลาในบรรทัดเดียวกัน:
for /f "usebackq" %i in (my-pdf-filelist.txt) ^
do (echo. %~ti %~nxi >> my-pdf-filelist.2)
ตอนนี้ตรวจสอบว่ารายการไฟล์ของคุณmy-pdf-filelist.2มีบรรทัดที่มีลักษณะดังนี้:
05/27/2009 06:08 AM fontproblems-in-footer-16_9_1557.pdf
01/20/2010 09:22 AM trainschedule-hannover.pdf
06/05/2010 07:30 PM Figure_001-a.pdf
รูปแบบการประทับเวลาของคุณอาจแตกต่างกันไปขึ้นอยู่กับการตั้งค่าภาษา + ภาษาของคุณและคุณอาจต้องปรับเปลี่ยนขั้นตอนต่อไปนี้ ในกรณีของฉันฉันต้องดูแล "AM / PM" thingie รวมถึง datestring เพื่อให้แน่ใจว่าชื่อไฟล์ในเวลาต่อมาจะเรียงตามลำดับตัวอักษรที่เหมือนกันกับลำดับเวลาที่บันทึกไว้
ขั้นสุดท้ายใช้ listfile ชั่วคราวนี้เพื่อเปลี่ยนชื่อไฟล์เดิมของคุณเพื่อให้มีการประทับเวลาเป็นคำนำหน้าเป็นชื่อเดิม แต่ก่อนอื่นทดสอบคำสั่งที่ตั้งใจไว้ดังนี้:
for /f "usebackq tokens=1,2,3,4,5,6,7 delims=/: " %i in (my-pdf-filelist.2) ^
do (echo. "%o" will be renamed to: "%k-%j-%i-%n-%l-%m-%o")
ตรวจสอบอย่างละเอียดว่าจะใช้งานได้ตามที่ตั้งใจหรือไม่ สุดท้ายทำการเปลี่ยนชื่อจริง:
for /f "usebackq tokens=1,2,3,4,5,6,7 delims=/: " %i in (my-pdf-filelist.2) ^
do (ren "%o" "%k-%j-%i-%n-%l-%m-%o")
ตอนนี้ PDF ของคุณถูกตั้งชื่อในลักษณะที่ทำให้ 'เรียงตามลำดับตัวอักษร' == 'ลำดับเวลาประทับ' คุณก็สามารถเรียกใช้pdftk.exe:
pdftk.exe *.pdf cat output merged.pdf