วิธีนับหน้าในไฟล์ PDF หลายไฟล์?


11

ฉันเพิ่งได้รับตำราแบบ pdf ประกอบด้วยไฟล์ PDF แยกต่างหาก 20 บท (แยกตามบท) ที่ใช้ชื่อกึ่งปกติ มีวิธีการนับหน้าในหนังสือเล่มที่ไม่มีการเปิดแต่ละไฟล์ (หรือจะผ่านคุณสมบัติ)?

[โซลูชันสามารถใช้กับ Windows หรือ Ubuntu]


คุณมี Adobe Acrobat หรือไม่
wizlog

คำตอบ:


15

การใช้ 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.


+1 pdfinfo เป็นสิ่งที่ฉันกำลังมองหา ฉันต้องการมันสำหรับจำนวนหน้าในแพ็คเกจการพิมพ์การพิมพ์สองด้านของฉัน
Joe

4

ฉันรู้ว่ามันสายเกินไป แต่ฉันเพิ่งพบวิธีที่ดีกว่าและง่ายกว่าสำหรับวิธีนี้

ดาวน์โหลดและติดตั้งจาก sourceforge "pdf split and merge"

วางไฟล์ทั้งหมดของคุณลงบนหน้าจอและสร้างรายงานเหมือนสเปรดชีตในจำนวนหน้าและข้อมูลของแต่ละไฟล์

เลือกที่คัดลอกวางใน excel หรือ opencalc คุณได้รับมัน


3

ฉันทำแอพพลิเคชั่นสำหรับเรื่องนี้มันเขียนด้วยภาษาจาวาเพื่อใช้กับทุกระบบปฏิบัติการ ตรวจสอบที่นี่:

https://github.com/hamiltino/multiple-pdf-counter/releases

เป็นการดีที่สุดในการเรียกใช้แอปพลิเคชันจากเทอร์มินัล ( java -jar ) เพื่อให้แน่ใจว่ามันจะทำงานอย่างถูกต้อง

ใส่ไฟล์ jar ในไดเรกทอรีที่คุณต้องการให้จำนวนหน้าของ pdf ทั้งหมดเข้ามันจะวนไปตามโฟลเดอร์ย่อยเช่นกันโดยไม่ต้องวางไฟล์ pdf ทั้งหมดที่ไฟล์ jar นั้นจะวนไปตามโฟลเดอร์ที่คุณวาง ไฟล์ jar ดับเบิลคลิกที่ jar อาจใช้เวลาสักครู่หากมีไฟล์ PDF จำนวนมากในที่สุดมันจะส่งออกไฟล์ txt ในไดเรกทอรีเดียวกันของไฟล์ jar และจะมีจำนวนหน้าอยู่ภายใน


ความคิดดี. การปรับปรุงที่ดีจะเป็น: 1) เปิดที่เป็นบรรทัดคำสั่งเท่านั้น (ไม่มี UI) และ 2) ส่งออกขนาดหน้าของแต่ละไฟล์พร้อมกับผลรวม
raider33

1

ใน Adobe Acrobat Pro ไปที่ ไฟล์ & gt; สร้าง PDF & gt; รวมไฟล์เป็น PDF เดียว . แล้วก็ เพิ่มไฟล์ และเลือกไฟล์ที่คุณต้องการ คลิกรวมและดูว่ามีกี่หน้าใน PDF สุดท้าย


ขอบคุณ @wizlog - ต้องใช้ซอฟต์แวร์เต็มรูปแบบ (และแพง) จริงๆใช่ไหม
ysap

เพิ่งสังเกตเห็นความคิดเห็นของคุณในคำถาม ไม่ฉันไม่มี
ysap

1

สวัสดีไม่รู้ว่าคุณสามารถทำได้บน 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

ขอแสดงความนับถือเคนนี


ขอบคุณเคนนี อาจใช้งานได้หากชื่อไฟล์จะสแกนผ่านไฟล์ต่างๆ โหวตขึ้นแล้ว
ysap
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.