ฉันจะรวม.pngไฟล์หลายไฟล์เป็นไฟล์ PDF เดียวใน Unix ได้อย่างไร?
ฉันจะรวม.pngไฟล์หลายไฟล์เป็นไฟล์ PDF เดียวใน Unix ได้อย่างไร?
คำตอบ:
จากการดูเอกสารใน ImageMagick อาจทำได้ง่ายดังนี้:
convert 1.png 2.png myfile.pdf
หากไม่ได้ผลPDFjamจะอ้างว่าสามารถแก้ปัญหาของคุณได้
-qualityตัวเลือกนี้แล้ว แต่ขนาดไฟล์มักจะ ~ 9.5 MiB
convert *.jpg file.pdf
-compress jpeg -quality 50คุณสามารถบีบอัดไฟล์โดยใช้พารามิเตอร์ ดูคำตอบของฉัน
หากฉันต้องการรวมการสแกนเป็นไฟล์ PDF หนึ่งไฟล์ฉันจะทำสิ่งนี้:
pdfjoin --a4paper --fitpaper false --rotateoversize false scan01.png scan02.png
เอกสารนี้จะให้เอกสาร PDF ที่มีขนาดหน้า DIN-A4 โดยที่ทุกpngไฟล์จะอยู่กึ่งกลางหน้าของตัวเอง รูปภาพที่ใหญ่เกินไปสำหรับหนึ่งหน้า DIN-A4 จะถูกปรับขนาดตามสัดส่วนเพื่อให้พอดีกับหนึ่งหน้า รูปภาพขนาดเล็กจะไม่ปรับขนาด (ไม่ได้ทำให้ใหญ่ขึ้น)
คุณต้องตั้งชื่อpngไฟล์ทั้งหมดในบรรทัดคำสั่ง แต่คุณยังสามารถใช้สัญลักษณ์แทนเพื่อรวมไฟล์ png ทั้งหมดในไดเร็กทอรีปัจจุบัน:
pdfjoin --a4paper --fitpaper false --rotateoversize false *.png
pdfjoinคำสั่งเป็นส่วนหนึ่งของ PDFjam ตามที่กล่าวไว้ในคำตอบโดยเยเรมีย์ Willcock ดังนั้นคุณมักจะต้องติดตั้งแพ็คเกจที่ชื่อpdfjamหรือtexlive-extra-utilsด้วยตัวจัดการแพ็คเกจ distros ของคุณ PDFjam สามารถใช้pngไฟล์เป็นอินพุตได้ตั้งแต่เวอร์ชัน 2.07 ซึ่งเผยแพร่ในปี 2010-11-13
pdfjoinมีให้ในtexlive-extra-utilsแพ็คเกจบนบางแพลตฟอร์ม คุณสามารถติดตั้งจากแหล่งที่มาได้ตลอดเวลาเช่นกัน
ImageMagickของเครื่องมือแปลงคือความต้องการของฉัน
โปรแกรมแปลงเป็นสมาชิกของชุดเครื่องมือ ImageMagick ใช้เพื่อแปลงระหว่างรูปแบบภาพเช่นเดียวกับการปรับขนาดภาพเบลอครอบตัดขนาดย่อวาดพลิกเข้าร่วมสุ่มตัวอย่างใหม่และอื่น ๆ อีกมากมาย
convert [input-option] input-file [output-option] output-file`
หากคุณต้องการให้ไฟล์ภาพ (ดังนั้นคุณภาพและขนาดไฟล์) ไม่เปลี่ยนแปลงและเพียงแค่ใส่คอนเทนเนอร์ PDF ไว้รอบ ๆ :
convert In.png In-2.png Someother-*.png Result.pdf
ในกรณีที่คุณต้องการมีขนาดไฟล์ที่เล็กลงและคุณพอใจกับการสูญเสียคุณภาพคุณสามารถแปลงไฟล์เป็นรูปแบบ JPEG ก่อน (ImageMagick ยังรองรับการเปลี่ยนระดับการบีบอัด PNG แต่โดยปกติไฟล์อินพุตของคุณจะใช้ระดับสูงสุดอยู่แล้ว)
convert 1.png 2.png -compress jpeg -quality 50 Result.pdf
ใช้ค่าระหว่าง 0 ถึง 100 สำหรับqualityตัวเลือก
หรือคุณสามารถเข้าถึงขนาดไฟล์ที่ต่ำลง (และคุณภาพ) ได้โดยการสุ่มตัวอย่างรูปภาพใหม่ให้มีความละเอียดที่แน่นอน
convert *.png 2.png -resample 300 Result.pdf
ค่าสำหรับresampleหมายถึงจำนวนพิกเซลต่อนิ้ว ImageMagick อ่านความหนาแน่นดั้งเดิมจากส่วน EXIF ของภาพอินพุตลดลงเหลือ 72 dpi คุณสามารถใช้densityพารามิเตอร์เพื่อตั้งค่าความละเอียดที่กำหนดเองสำหรับภาพอินพุต
คุณสามารถของหลักสูตรยังรวมcompress, qualityและresampleพารามิเตอร์
ฉันขโมยสิ่งนี้ แต่นี่เป็นวิธีแก้ปัญหาที่ฉันใช้จาก Jeremiah Willcock และเว็บไซต์คำตอบอื่น ไม่ได้ขุดคุ้ยประวัติศาสตร์ในขณะนี้ ฉันโกหกฉันทำ (Tully @ https://askubuntu.com/a/626301 )
ฉันต้องการไฟล์ที่เล็กพอที่จะส่งอีเมลได้
ในการรวมภาพเป็น PDF (จากในไดเรกทอรีการทำงานให้ใช้บรรทัดคำสั่ง:
user@box:/home/user/scans/:$
convert 1.png 2.png convertoutput.pdf
หากต้องการลดขนาดโดยใช้ ghostscript หลังจากรวม (ฉันใช้กับระบบเริ่มต้น kde เกือบ):
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/default \
-dNOPAUSE -dQUIET -dBATCH -dDetectDuplicateImages -dCompressFonts=true \
-r150 -sOutputFile=output.pdf convertoutput.pdf
ไฟล์ของฉันมี 14 ภาพ (19MB หลังจากแปลงแล้ว gs ทำให้เป็น 1.6MB คุณภาพยังดีอยู่) output.pdfไฟล์ที่ส่งออกจะเรียกว่า
-compress jpeg -quality 50โดยใช้พารามิเตอร์ ดูคำตอบของฉัน