ฉันเพิ่งได้รับตำราแบบ pdf ประกอบด้วยไฟล์ PDF แยกต่างหาก 20 บท (แยกตามบท) ที่ใช้ชื่อกึ่งปกติ มีวิธีการนับหน้าในหนังสือเล่มที่ไม่มีการเปิดแต่ละไฟล์ (หรือจะผ่านคุณสมบัติ)?
[โซลูชันสามารถใช้กับ Windows หรือ Ubuntu]
ฉันเพิ่งได้รับตำราแบบ pdf ประกอบด้วยไฟล์ PDF แยกต่างหาก 20 บท (แยกตามบท) ที่ใช้ชื่อกึ่งปกติ มีวิธีการนับหน้าในหนังสือเล่มที่ไม่มีการเปิดแต่ละไฟล์ (หรือจะผ่านคุณสมบัติ)?
[โซลูชันสามารถใช้กับ Windows หรือ Ubuntu]
คำตอบ:
การใช้ pdfinfo
นี่คือสิ่งที่ดีที่สุดที่ฉันสามารถทำได้:
หากต้องการพิมพ์จำนวนหน้าต่อไฟล์:
for i in *.pdf; do echo $i && pdfinfo "$i" | grep "^Pages:"; done
หากต้องการพิมพ์ผลรวมของทุกหน้าในไฟล์ทั้งหมด:
for i in *.pdf; do pdfinfo "$i" | grep "^Pages:"; done | awk '{s+=$2} END {print s}'
บน Ubuntu pdfinfo
บรรจุอยู่ในแพ็คเกจ poppler-utils
. หากต้องการติดตั้งให้ใช้:
sudo apt-get install poppler-utils
บน Windows คุณสามารถใช้ cygwin pdfinfo
บรรจุอยู่ในแพ็คเกจ poppler
.
ฉันรู้ว่ามันสายเกินไป แต่ฉันเพิ่งพบวิธีที่ดีกว่าและง่ายกว่าสำหรับวิธีนี้
ดาวน์โหลดและติดตั้งจาก sourceforge "pdf split and merge"
วางไฟล์ทั้งหมดของคุณลงบนหน้าจอและสร้างรายงานเหมือนสเปรดชีตในจำนวนหน้าและข้อมูลของแต่ละไฟล์
เลือกที่คัดลอกวางใน excel หรือ opencalc คุณได้รับมัน
ฉันทำแอพพลิเคชั่นสำหรับเรื่องนี้มันเขียนด้วยภาษาจาวาเพื่อใช้กับทุกระบบปฏิบัติการ ตรวจสอบที่นี่:
https://github.com/hamiltino/multiple-pdf-counter/releases
เป็นการดีที่สุดในการเรียกใช้แอปพลิเคชันจากเทอร์มินัล ( java -jar
) เพื่อให้แน่ใจว่ามันจะทำงานอย่างถูกต้อง
ใส่ไฟล์ jar ในไดเรกทอรีที่คุณต้องการให้จำนวนหน้าของ pdf ทั้งหมดเข้ามันจะวนไปตามโฟลเดอร์ย่อยเช่นกันโดยไม่ต้องวางไฟล์ pdf ทั้งหมดที่ไฟล์ jar นั้นจะวนไปตามโฟลเดอร์ที่คุณวาง ไฟล์ jar ดับเบิลคลิกที่ jar อาจใช้เวลาสักครู่หากมีไฟล์ PDF จำนวนมากในที่สุดมันจะส่งออกไฟล์ txt ในไดเรกทอรีเดียวกันของไฟล์ jar และจะมีจำนวนหน้าอยู่ภายใน
สวัสดีไม่รู้ว่าคุณสามารถทำได้บน windows แต่ใน linux ทุบตีมันควรทำงานกับ
PDFS=`ls *.pdf` counter=0 for i in $PDFS do (( counter += `pdfinfo internship_report.pdf | sed -n 's|Pages:[^0-9]*\([0-9]*\).*|\1|p'`)) done echo $counter
ขอแสดงความนับถือเคนนี