แปลงไดเรกทอรีของไฟล์ JPEG เป็นเอกสาร PDF เดียว


242

ฉันมีไฟล์ JPEG จำนวนมากในไดเรกทอรีและฉันต้องการแปลงเป็น PDF และต่อกันเข้าด้วยกันเพื่อสร้างเอกสารเดียว

สิ่งนี้สามารถทำได้?

ฉันต้องการใช้บรรทัดคำสั่งเนื่องจากกระบวนการนี้จะเร็วขึ้น

คำตอบ:


358

จากimagemagickแพ็คเกจใช้convertคำสั่ง:

convert *.jpg pictures.pdf

คุณจะได้รับไฟล์ PDF เพียงอันเดียวที่มี jpg ทั้งหมดในโฟลเดอร์ปัจจุบัน

ติดตั้ง IM ด้วย:

sudo apt-get install imagemagick

แหล่งที่มา: stackoverflow

แก้ไข: โปรดทราบว่ารูปภาพจะไม่อยู่ในลำดับที่ระบุหากยังไม่ได้กำหนดหมายเลข หากคุณมี 10 ตัวขึ้นไปคุณจะต้องตั้งชื่อให้ลงท้ายด้วย filename01.jpg ... filename99.jpg เป็นต้นต้องใช้เลขศูนย์นำหน้าสำหรับการสั่งซื้อที่เหมาะสม หากคุณมี 100 หรือมากกว่า 001 ... 999


1
การใช้โจ๊กเกอร์ไม่ได้ผลสำหรับฉันฉันต้องใช้วิธีแก้ปัญหาของ @ Alex
Eusebius

2
@Eusebius หากสัญลักษณ์แทนไม่ทำงานสำหรับคุณด้วยการแปลงคุณสามารถใช้ oneliner เช่นfor f in *.jpg; do convert "$f" "$f.pdf"; done; pdftk *.pdf cat output final.pdf
Elder Geek

1
GrphicMagickผู้ใช้ควรเรียกใช้gm convert *.jpg pictures.pdf
michaelbn

บางทีไฟล์ jpg ของฉันใหญ่เกินไปและมากเกินไป แต่การทำเช่นนั้นแทบจะทันทีที่ใช้ RAM มากจนระบบ 16GB ของฉันเริ่มทำการแลกเปลี่ยน
RonJohn

8
โปรดทราบว่าวิธีนี้อาจส่งผลให้เกิดnot authorizedข้อผิดพลาด; ดูคำถามที่เกี่ยวข้องนี้ (และคำตอบ)
Jani Uusitalo

31
convert `ls -1v` file.pdf
  • ls นี้จะแสดงรายการไฟล์หนึ่งไฟล์ต่อครั้งใน "ลำดับธรรมชาติ" (1,2,3 ... ) และดำเนินการแปลงต่อ

1
ฉันลองสิ่งนี้และมันก็ไม่ได้ผลสำหรับฉัน ข้อผิดพลาดมากมายบ่งบอกว่าอาจมีบางอย่างที่เกี่ยวข้องกับช่องว่างในชื่อไฟล์
Elder Geek

5
ในการดูแลปัญหาช่องว่างให้ดำเนินการเปลี่ยนรูปแบบก่อน: สำหรับ ThisFile ใน * .jpg; ทำ mv "$ ThisFile" "$ {ThisFile // / _}"> / dev / null 2> & 1; d
Simon Mattes

20

ทำงานให้ฉัน (คำเตือน แต่! ปิดการบีบอัดและ PDF ที่ได้จะใหญ่!):

convert page1.jpg page2.jpg +compress file.pdf

หรือแม้กระทั่ง:

convert -rotate 90 page\*.jpg +compress file.pdf

จาก ubuntuforums.org +compressช่วยให้มันไม่แขวน หมายเหตุ: การบีบอัด + จะปิดการบีบอัด เครื่องที่ฉันกำลังทำงานอยู่ในเวลานั้นดูเหมือนจะแขวนหรือไม่ตลอดไป (ฉันไม่ได้รอตลอดไปแม้ว่าจะหา.) โดยไม่มีตัวเลือกการบีบอัด + การสะสมไมล์ของคุณอาจแตกต่างกันเล็กน้อย! RTFM บนตัวเลือก imagemagick.org - บีบอัดอาจทดสอบกับ -compress <type> หากคุณมีปัญหาในการบีบอัด / หยุดทำงานช้าเพื่อค้นหาว่าอะไรจะใช้ได้ผลสำหรับคุณ


13
อย่าใช้+compressตัวเลือกกับconvertคำสั่งตามที่แนะนำข้างต้น! มันปิดการใช้งานการบีบอัดทั้งหมดทำให้คุณมีขนาดใหญ่กว่า JPEG ดั้งเดิมถึง 10 เท่า เพียงไม่ระบุตัวเลือกการบีบอัดและconvertจะไปกับรูปแบบการบีบอัดอินพุต (JPEG) ซึ่งในกรณีนี้เป็นตัวเลือกที่ดีที่สุดสำหรับขนาดไฟล์ ที่มา: http://www.imagemagick.org/script/command-line-options.php#compress

นั่นไม่ง่ายเลย! ขอบคุณ S Minddal ที่ได้ผลสำหรับฉัน ฉันคิดว่าเครื่องที่ฉันใช้มีปัญหาในการบีบอัดข้อมูลแล้ว ฉันจะปรับคำตอบ
gaoithe

2
เพื่อให้$ converet *.jpg file.pdfทำงานได้ดีกับขนาดไฟล์ที่มีขนาดเล็กกว่าที่มี+compressการโต้แย้ง
ปริญญาเอก

18

น่าเสียดายที่convertเปลี่ยนคุณภาพของภาพก่อน "บรรจุลงใน" เป็น PDF ดังนั้นเพื่อให้มีการสูญเสียน้อยที่สุดของที่มีคุณภาพดีกว่าที่จะใส่เดิมjpgเป็น PDF img2pdfที่คุณจำเป็นต้องใช้

ฉันใช้คำสั่งเหล่านี้:

  1. คำสั่งนี้สร้างpdfไฟล์จากทุกjpgภาพโดยไม่สูญเสียความละเอียดหรือคุณภาพ:

    ls -1 ./*jpg | xargs -L1 -I {} img2pdf {} -o {} .pdf

  2. คำสั่งนี้จะเรียงpdfหน้าให้เป็นเอกสารเดียว:

    pdftk * .pdf เอาต์พุตแมวที่รวมกัน. pdf

  3. และในที่สุดฉันก็เพิ่มเลเยอร์ข้อความ OCRed ที่ไม่เปลี่ยนคุณภาพของการสแกนใน PDF เพื่อให้สามารถค้นหาได้:

    pypdfocr integrated.pdf

    ทางเลือกในการใช้pypdfocr:

    ocrmypdf combination.pdf combination_ocr.pdf


1
สุดยอดวิธีการ! ข้อเสียเพียงข้อเดียวที่ไม่มีการบีบอัดคือขนาดไฟล์. pdf ที่ได้จะสูงมาก แต่คุ้มค่าถ้าเอกสารที่คุณแปลงเป็นเอกสารสำคัญจริง ๆ !
Gokul NC

1
สิ่งนี้ใช้ได้ดีหลังจากconvertล้มเหลวด้วย "ความพยายามในการดำเนินการที่ไม่อนุญาตโดยนโยบายความปลอดภัย` PDF '"
Matthias Braun

12

เปิดไฟล์ jpg หรือ png ด้วย LibreOffice Writer และส่งออกเป็น PDF

ฉันหวังว่านี่เป็นวิธีที่ง่ายในการส่งออก pdf


ใช่ LibreOffice เป็นวิธีที่ดีที่สุดในการส่งออกไฟล์ภาพเป็น PDF เรามีการควบคุมเต็มรูปแบบของการส่งออก PDF รวมถึงรูปแบบหน้าการปรับขนาดของไฟล์ที่นำเข้าส่วนหัวและท้ายกระดาษไม่จำเป็นและอื่น ๆ อีกมากมาย ... ขอบคุณมากuser359154สำหรับคำแนะนำที่ฉลาด!

8

วิธีแก้ปัญหาต่อไปนี้ยังต้องใช้ ImageMagick convertแต่ค่อนข้างซับซ้อนกว่าเพราะ:

  • มันช่วยให้ภาพทั้งหมดมีขนาดแตกต่างกันในขณะที่รักษาขนาดหน้ากระดาษ PDF เอาท์พุทเหมือนกัน (A4 ในตัวอย่างด้านล่าง)
  • มันเป็นศูนย์กลางของภาพในหน้า PDF
  • ช่วยให้คุณสามารถรับประกันพื้นที่ขั้นต่ำระหว่างเส้นขอบภาพและเส้นขอบหน้า PDF เพื่อให้สามารถพิมพ์ PDF ได้โดยไม่มีปัญหา
  • มันไม่เปลี่ยนข้อมูลภาพ (ดังนั้นคุณภาพของภาพจึงไม่ได้รับผลกระทบไฟล์ PDF มีขนาดไฟล์ใกล้เคียงกับภาพและคุณสามารถแตกไฟล์ต้นฉบับใหม่ได้ในภายหลังpdfimages -j file.pdf img) ในขณะนี้ใช้งานได้กับ PNG เท่านั้น - ดูความคิดเห็นโดย @dma_k ด้านล่าง .

คำแนะนำ:

  1. ใช้สคริปต์ของฉันจากคำตอบนี้เพื่อแปลงภาพแต่ละภาพให้เป็นไฟล์ PDF หน้าเดียวของตัวเองที่มีขนาดหน้า A4 และ 5% รอบ ๆ
  2. เชื่อมไฟล์ PDF หน้าเดียวของคุณทั้งหมดด้วย PDFtk ดังนี้

    pdftk *.pdf cat output out.pdf
    

2
คำสั่งนี้แสดงให้เห็นว่า (อย่างน้อยกับรุ่นที่มีให้ใน Ubuntu 16.04) ข้อมูลภาพจะได้รับผลกระทบ:convert some.jpg -format pdf -compress jpeg generated.pdf ; pdfimages -j generated.pdf generated.pdf ; diff -sq some.jpg generated.pdf-000.jpg
Stéphane Gourichon

2
ฉันกำลังเล่นกับ GraphicsMagick และฉันสังเกตเห็นว่ามันทำการบีบอัดภาพใหม่ คุณภาพของภาพ JPEG ที่ได้จากหน้า PDF นั้นแย่กว่ามาก ดังนั้นในขณะนี้วิธีที่ปลอดภัยที่สุดคือการเพิ่มภาพ PNG - แทรกไว้อย่างถูกต้อง ดูโพสต์นี้เช่นกัน
dma_k

-3

ฉันได้ใช้http://convert-my-image.com/ สิ่งที่ดีที่คุณสามารถให้ได้ (เว็บไซต์เดียวกัน แต่หน้าอื่น) เก็บภาพและเชื่อมต่อกับไฟล์ PDF ทั่วไป


3
คำแนะนำนี้มีปัญหาอย่างน้อยสามประการ: (1) จะช้าเนื่องจากการอัปโหลดภาพไปยังเว็บไซต์และดาวน์โหลด PDF ที่เป็นผลลัพธ์ (2) ข้อมูลของคุณจะถูกเปิดเผยต่อผู้ที่ใช้งานเว็บไซต์นั้นและแก่ผู้ที่อาจละเมิดเว็บไซต์นั้นและแก่ทุกคนที่อยู่ในสาย (3) ไม่ใช่โซลูชันบรรทัดคำสั่ง
sampablokuper
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.