ฉันกำลังมองหาเครื่องมือบรรทัดคำสั่งโอเพนซอร์ซเพื่อตัดไฟล์ PDF เหมือนที่เราทำได้ใน Adobe Acrobat Pro ฉันได้ลอง PdfTk, ImageMagick, PyPDF และ GhostScript แล้วทั้งหมดนี้ยังไม่ประสบความสำเร็จ
ฉันกำลังมองหาเครื่องมือบรรทัดคำสั่งโอเพนซอร์ซเพื่อตัดไฟล์ PDF เหมือนที่เราทำได้ใน Adobe Acrobat Pro ฉันได้ลอง PdfTk, ImageMagick, PyPDF และ GhostScript แล้วทั้งหมดนี้ยังไม่ประสบความสำเร็จ
คำตอบ:
หากคุณต้องการครอบตัด pdf ที่มีระยะขอบซ้ายบนขวาและล่างที่ 5, 10, 20 และ 30 pt (คะแนน) จากนั้นเรียกใช้
pdfcrop --margins '5 10 20 30' input.pdf output.pdf
ในอาคารผู้โดยสาร หากต้องการครอบตัดบางสิ่งออกไปให้ใช้ค่าลบในอาร์กิวเมนต์สำหรับครอบตัด ตัวอย่างเช่น,
pdfcrop --margins '-50 -50 -50 -50' input.pdf output.pdf
ครอบตัด 50 pts จากซ้าย, บน, ขวา, ล่าง (ตามลำดับนี้)
หากคุณเรียกใช้คำสั่งเท่านั้นคำสั่งpdfcrop input
จะส่งไฟล์ชื่อinput-crop.pdfโดยไม่มีระยะขอบ ฉันพบว่ามันมีประโยชน์มากเมื่อรวมภาพประกอบ pdf ในเอกสาร
การครอบตัดหลายไฟล์
น่าเสียดายที่ pdfcrop ไม่สามารถครอบตัดไฟล์หลายไฟล์ในเวลาเดียวกัน อย่างไรก็ตามมันง่ายที่จะเขียนสคริปต์ที่จะครอบตัดไฟล์ PDF ทั้งหมดในโฟลเดอร์ที่สคริปต์ตั้งอยู่
something.sh
สร้างไฟล์ใหม่ที่ว่างเปล่าและเรียกมันว่า เปิดด้วยโปรแกรมแก้ไขข้อความและใส่ต่อไปนี้:
#!/bin/bash
for FILE in ./*.pdf; do
pdfcrop "${FILE}"
done
บันทึกและปิด แล้วคลิกขวาที่ไฟล์ไปที่Properties> การอนุญาตและตรวจสอบสนามอนุญาตให้ดำเนินการเป็นไฟล์โปรแกรม ตอนนี้ปิดกล่องโต้ตอบ เรียกใช้สคริปต์โดยดับเบิลคลิกมันและเลือกเรียกใช้ในเทอร์มิ และเวอร์ชั่นใหม่ที่ถูกตัดขอบศูนย์จากไฟล์ PDF ทั้งหมดที่มีคำต่อท้าย-cropจะถูกพิมพ์ในโฟลเดอร์ ถ้าคุณต้องการที่อัตรากำไรขั้นต้นหรือสิ่งอื่น ๆ pdfcrop
ที่คุณสามารถของหลักสูตรเพียงแค่เปิดสคริปต์และเพิ่มข้อโต้แย้งหลัง
--bbox "<left> <bottom> <right> <top>"
โปรดทราบว่าแทนการระบุอัตรากำไรเชิงลบหนึ่งยังสามารถใช้ นี้จะช่วยให้ใช้วิธีการในการกำหนดพื้นที่เพาะปลูกที่อธิบายไว้ในของฉันคำตอบด้านล่าง
pdfcrop --help
แสดงรายการตัวเลือกที่มี ฉันไม่เห็นสิ่งใดที่จะอนุญาตให้ระบุช่วงของหน้า
ขอบคุณสำหรับ Rasmus คุณสามารถติดตั้ง pdfcrop จากแพ็คเกจ texlive-extra-utils:
sudo apt-get install texlive-extra-utils
จากนั้นครอบตัดไฟล์ PDF โดยใช้คำสั่ง pdf ครอบตัดเป็น:
pdfcrop input.pdf output.pdf
ใช้--help
เพื่อดูพารามิเตอร์ที่น่าทึ่งมากขึ้นเช่น--margins
pdfcrop --margins 5 input.pdf output.pdf
เลือกครอบตัดไฟล์ PDF ที่มี 5 bp จากแต่ละด้านของหน้าเว็บ
gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS="/ebook" -sOutputFile=output2.pdf output.pdf
หลังจากนั้นซึ่งแก้ไขขนาดไฟล์
คุณสามารถครอบตัดไฟล์ PDF เพียงแค่ใช้ Ghostscript ฉันได้เขียนสคริปต์เล็กน้อยเพื่อให้กระบวนการง่ายขึ้น (ได้รับแรงบันดาลใจจากคำตอบนี้ ):
#!/bin/bash
if [ $# -lt 5 ]
then
echo "Usage: `basename $0` <pdf-file> <x_min> <x_max> <y_min> <y_max>"
echo "Notes:"
echo " - all coordinates are absolute; no calculation of width/height necessary"
echo " - use 'gv' to determine the coordinates"
exit 65
fi
file="$1"
xmin="$2"
xmax="$3"
ymin="$4"
ymax="$5"
base="${file%.*}"
outfile="${base}_cropped.pdf"
echo "writing to: $outfile"
gs \
-o $outfile \
-sDEVICE=pdfwrite \
-c "[/CropBox [$xmin $ymin $xmax $ymax] /PAGES pdfmark" \
-f $file
เพื่อกำหนดพิกัดสำหรับการครอบตัดฉันใช้gv
ซึ่งจะพิมพ์พิกัดของเคอร์เซอร์ของเมาส์โดยใช้หน่วยเดียวกับ Ghostscript ตัวอย่างเช่นที่นี่ฉันจะกำหนดพิกัดขั้นต่ำสำหรับ x / y (ค่าที่มุมบนซ้าย):
ตอนนี้พิกัดสูงสุด:
และในที่สุดผมเรียกใช้สคริปต์pdf_crop_by_coordinates.sh test.pdf 45 429 38 419
การผลิตtest_cropped.pdf
ซึ่งมีลักษณะเหมือนว่า:
ฉันไม่มีความคิดในเรื่องที่ Ghostscript เปรียบเทียบว่าpdfcrop
ในแง่ของคุณภาพและความถูกต้องอย่างไร
เมื่อฉันไม่สามารถทำอะไรกับ pdftk ต่อไปที่ฉันเปิดคือPDFjamซึ่งเป็น wrapper บรรทัดคำสั่งสำหรับแพ็คเกจ LaTeX pdfpages (ดังนั้นคุณต้องติดตั้งและติดตั้ง TeX distro ด้วย) สำหรับความช่วยเหลือเกี่ยวกับวิธีการใช้งานฉันแนะนำหน้าจอความช่วยเหลือปกติ:
pdfjam --help
เนื่องจาก man man นั้นกระจัดกระจายและเว็บเพจนั้นมุ่งเน้นไปที่ตัวอย่าง
ในการครอบตัด PDF คำสั่งที่คุณต้องการมีดังนี้:
pdfjam --keepinfo --trim "10mm 15mm 10mm 15mm" --clip true --suffix "cropped" input.pdf
input-cropped.pdf
นี้ออกจะไฟล์ที่เรียกว่า คำสั่งของจดจ้องควรจะเหลือล่างด้านขวาบนเป็นต่อ\includegraphics
จากgraphicx
เพื่อให้ความคิดเกี่ยวกับวิธีเปรียบเทียบกับ PDFcrop ฉันได้ทำให้รูปแบบไฟล์ PDF ค่อนข้างแฟนซีเมื่อเร็ว ๆ นี้ ต้นฉบับของฉันคือ 675 kB รุ่นที่ถูกครอบตัดของฉันผ่าน PDFjam คือ 1.2 MB ในขณะที่รุ่นที่ถูกครอบตัดด้วย PDFcrop คือ 4.5 MB ในขณะที่ทั้ง PDFjam และ PDFcrop ดึงไฮเปอร์ลิงก์และบุ๊กมาร์กออกมา PDFjam พร้อม--keepinfo
ตัวเลือกจะรักษาคุณสมบัติของเอกสาร (เช่นชื่อเรื่องผู้แต่งหัวเรื่อง)
หากเครื่องมือกราฟิกเป็นสิ่งที่ดีฉันจะแนะนำkrop
: http://arminstraub.com/software/krop
สิ่งนี้อาจช่วยคุณได้
สิ่งนี้เป็นไปตาม Ubuntu และรุ่นใหม่กว่าของชีวิต นี้เป็นบรรณาธิการโทรูปแบบไฟล์ PDF คุณสามารถใช้มันครอบตัดเพิ่มบางสิ่ง ฯลฯ
Brissไม่ใช่บรรทัดคำสั่ง แต่ควรดูที่
คุณสามารถใช้สคริปต์ pypdf จากหน้านี้ แต่ในคำตอบของคำถามแลกเปลี่ยนสแต็คนี้ดูเหมือนจะมีตัวเลือกมากมายเช่นกัน
pdfCropMarginsโปรแกรมเป็นโปรแกรมบรรทัดคำสั่งเพื่อตัดขอบของไฟล์ PDF โดยอัตโนมัติ
โปรแกรมนี้ขึ้นอยู่กับโปรแกรม Ghostscript หรือโปรแกรม pdftoppm ที่กำลังติดตั้ง (และ locatable) บนระบบ และวิเคราะห์ภาพหน้าเว็บด้วย PIL เพื่อค้นหาช่องว่างโดยใช้เกณฑ์ 191
ติดตั้งโดยใช้
pip ติดตั้ง pdfCropMargins
เรียกใช้โดยใช้
pdf-crop-margin -v -s -u your-file.pdf
เพื่อขอความช่วยเหลือ
pdf-crop-margin -h | มากกว่า