วิธีการแบทช์รวม JPEG จากโฟลเดอร์เป็นไฟล์ PDF


18

ฉันมีโฟลเดอร์ประมาณ 500 โฟลเดอร์ที่มีรูปภาพอยู่ข้างใน มีวิธีที่ฉันสามารถแปลงชุดนี้เพื่อให้ฉันได้รับไฟล์. pdf ที่มีภาพทั้งหมดภายในเป็นหน้า?

แก้ไข:

ควรมีการสร้างไฟล์ PDF 500 ไฟล์โดยแต่ละไฟล์มีชื่อของโฟลเดอร์ที่บรรจุและแต่ละภาพมีหน้าเป็นไฟล์


3
ระบบปฏิบัติการอะไร และคุณต้องการเครื่องมือ CLI หรือ GUI หรือไม่ ไฟล์ถูกตั้งชื่อด้วยวิธีที่มีเหตุผลหรือสอดคล้องกันและมีความสำคัญหรือไม่?
Journeyman Geek

Mac OS X สามารถเป็นเครื่องมือประเภทใดก็ได้และฉันเป็นเจ้าของ Acrobat Pro แต่ฉันไม่พบตัวเลือกนั้น ไฟล์ถูกจัดเรียงตามตัวอักษรและฉันต้องการรักษาลำดับนั้น ขอบคุณ
Ska

คำตอบ:


16

OS X มีเครื่องมือหลายอย่างในตัวเพื่อทำการประมวลผลภาพและสร้าง PDF โดยอัตโนมัติ

เพียงแค่เปิดAutomator.appให้สร้างแอปพลิเคชันใหม่

Automator.app

เปลี่ยนตามที่แสดงด้านล่างโดยการลากการกระทำจากบานหน้าต่างด้านซ้ายไปทางขวา

ขั้นตอนแรก

  • รับเนื้อหาโฟลเดอร์ด้วยซ้ำ ...ตัวเลือกเปิดใช้งานจะได้รับไฟล์ทั้งหมดของคุณแม้จะมาจากภายในไดเรกทอรีย่อย

  • ใหม่ PDF จากรูปภาพจะสร้างไฟล์ PDF หนึ่งไฟล์บนเดสก์ท็อปแต่ละหน้าประกอบด้วยภาพเดียว

บันทึกแอปที่ใดที่หนึ่ง (เช่นใต้/ แอปพลิเคชันหรือบนเดสก์ท็อปของคุณ) ตั้งชื่อที่เหมาะสมเช่น "สร้าง PDF จาก Image.app" จากนั้นคุณสามารถลากโฟลเดอร์ของคุณไปที่ไอคอน ให้เวิร์กโฟลว์ทำงานแทนคุณ


ด้านบนสร้างไฟล์ PDF ไฟล์เดียวสำหรับทุกภาพ หากคุณต้องการมีหนึ่งโฟลเดอร์สำหรับแต่ละโฟลเดอร์นั่นจะซับซ้อนกว่านี้

ก่อนอื่นคุณต้องมีการดำเนินการเพิ่มเติมรายการ ติดตั้ง จากนั้นเปิด Automator อีกครั้งและสร้างเวิร์กโฟลว์ใหม่ ( ไม่ใช่แอปพลิเคชัน)

ตอนนี้เพื่อความสะดวกของคุณสามารถดาวน์โหลดขั้นตอนการทำงานที่นี่ ในกรณีที่ลิงค์แตกให้เปลี่ยนดังแสดงด้านล่าง:

ภาพหน้าจอเวิร์กโฟลว์

หรือในรูปแบบข้อความ:

  • รับรายการ Finder ที่เลือก
  • รายการแจกจ่ายเพิ่มขึ้น (ที่เราติดตั้งมาก่อน)
  • กำหนดค่าของตัวแปรเพื่อจดจำโฟลเดอร์ที่เราอยู่
  • รับเนื้อหาโฟลเดอร์เพื่อรับรูปภาพ
  • ใหม่ PDF จากภาพเพื่อสร้าง PDF ที่นี่นำตัวแปรจากแผง "ตัวแปร" ที่ด้านล่างและลากไปยังฟิลด์ "บันทึกผลลัพธ์ไปที่ ... " สิ่งนี้ทำให้แน่ใจว่า PDF ถูกสร้างขึ้นในโฟลเดอร์ที่เป็นของมัน ไม่มีวิธีง่ายๆในการเปลี่ยนชื่อไฟล์นอกเหนือจากการตั้งชื่อไฟล์คงที่ คุณสามารถเพิ่มการดำเนินการRename Finder itemsเพื่อตั้งค่า
  • วนซ้ำเพื่อเริ่มจากเริ่มต้นและเรียกใช้ด้วยโฟลเดอร์ถัดไป คุณสามารถปิดการใช้งานส่วนที่ขอการยืนยัน

บันทึกเป็นเวิร์กโฟลว์และในตอนนี้นี่คือวิธีการใช้งาน เลือกโฟลเดอร์ของคุณใน Finder

ภาพหน้าจอของ Finder

จากนั้นไปที่Automator.appและคลิกเรียกใช้ที่มุมขวาบน


ด้วย 500 โฟลเดอร์ซึ่งอาจใช้เวลาสักครู่ โดยเฉพาะอย่างยิ่งกับรูปภาพความละเอียดสูง PDF ของคุณอาจมีขนาดใหญ่มาก แต่คุณสามารถลองกับตัวเลือกที่เล็กกว่าก่อนแล้วปล่อยให้เวิร์กโฟลว์ทำงานจนกว่าจะเสร็จสิ้น


น่าทึ่ง แต่ภาพทั้งหมดอยู่ในรูปแบบ PDF เดียว เป็นไปได้ไหมที่จะสร้าง PDF แยกต่างหากสำหรับแต่ละโฟลเดอร์ที่มี? ฉันไม่รู้ด้วยซ้ำว่าคุณสามารถทำอะไรกับ Automator ได้บ้างขอบคุณมาก!
Ska

@Ska ดูคำตอบที่อัปเดตของฉัน หวังว่ามันจะเหมาะกับคุณ นี่คือที่ที่มันจะยากใน Automator และที่ที่คุณคิดว่าจะย้ายไปที่ AppleScript หรือ Bash script ง่ายๆร่วมกับ AppleScript
slhck

ไม่ต้องกังวลฉันจะเปลี่ยนชื่อพวกเขาในภายหลังด้วยสคริปต์ทุบตี อย่างไรก็ตามมันจะเป็นไปได้หรือไม่ที่จะสร้างแอปพลิเคชันซึ่งจะส่งผ่านผลลัพธ์ของการรับเนื้อหาโฟลเดอร์ (ชื่อโฟลเดอร์) และสร้างตัวแปรออกมา?
Ska

@Ska ใช่นั่นคือวิธีที่คุณตั้งค่าตัวแปร แต่คุณไม่สามารถใช้ตัวแปรในชื่อผลลัพธ์ของ PDF ได้ อย่างน้อยก็ไม่ใช่ในวิธีที่ง่าย
slhck

นั่นเป็นขั้นตอนการทำงานที่ยอดเยี่ยม ขอบคุณสำหรับความช่วยเหลือในเรื่องนี้ ฉันใช้เวลาหนึ่งสัปดาห์ที่ผ่านมาในการถอดรหัส JPG ของ National Geographic ทุกฉบับย้อนหลังไปถึงจุดเริ่มต้นและต้องการวิธีการแปลงทั้งหมด 250,000 หน้าเป็น PDF เพื่อที่ฉันจะได้ OCR และทำให้สามารถค้นหาได้ คุณเพิ่งช่วยชีวิตฉันด้วยการใช้แรงงานจำนวนมาก การเปลี่ยนแปลงอย่างหนึ่งที่ฉันต้องทำในสคริปต์คือการกำหนดช่วงเวลาการหมดเวลาที่มากกว่า 0 นาทีเริ่มต้น มิฉะนั้นจะสร้างเพียง PDF เดียว ฉันทำด้วยลูปด้วยตนเอง แต่นั่นเป็นการมีส่วนร่วมในกระบวนการอัตโนมัติมากเกินไป ฉันยังบอกให้บันทึกลงในโฟลเดอร์เดียวเพื่อที่จะ

22

บน OS X

ด้วยHomebrewเพียงติดตั้ง ImageMagick:

brew install imagemagick

convert *.jpg output.pdf

และถ้า PDF ที่ได้มีขนาดใหญ่เกินไปคุณสามารถลอง:

convert -quality 60 *.jpg output.pdf

Linux, Unix, Windows

แน่นอนว่า ImageMagick สามารถติดตั้งในระบบ Unix อื่น ๆ เช่นapt-get install imagemagickDebian และ Ubuntu และแม้กระทั่งบน Windows ผ่านGNU / Cygwinหรือchocolately


3
วิธีเร็วกว่าทำให้รำลึกถึงด้วยการดูตัวอย่าง!
DK_

1
+1 ฉันคิดว่าการเปรียบเทียบระหว่างสิ่งนี้กับคำตอบที่ยอมรับจะแสดงให้เห็นถึงพลังของเครื่องมือบรรทัดคำสั่ง (และโดยเฉพาะอย่างยิ่ง imagemagick) ในสถานการณ์แบบนี้!
Bill Cheatham

1
นี่อาจเป็นไปได้ในหน้าต่าง หากคุณกำลังใช้ chocolatey (ตัวจัดการแพ็กเกจสำหรับ windows): choco install imagemagick.toolจากนั้นทำตามคำสั่ง "แปลง" ของ @ KasperSouren
Giscard Biamby

5

วิธีที่ง่ายกว่าคือดูภาพทั้งหมดในดูตัวอย่างจากนั้นพิมพ์เป็น PDF อย่างรวดเร็ว

http://hints.macworld.com/article.php?story=20090119162659107


นี่เป็นวิธีที่ง่ายที่สุดเนื่องจากคุณสามารถเปิดโฟลเดอร์ในดูตัวอย่าง ดูเพิ่มเติมที่: superuser.com/questions/350201/…
David James

2

ในเกือบทุกระบบใด ๆ คุณต้องการจะทำงานนี้ในการแก้ปัญหาที่ดีที่สุดของคุณอาจจะImageMagick มีให้ใน * nix, Mac และ Windows รองรับทั้ง wildcarding (aka filename globbing) และข้อมูลจำเพาะของรายการ (เช่น @ ImagesToProcess.txt) ของไฟล์อินพุตตัวเลือกข้อกำหนดไฟล์ขั้นสูงบางตัวบรรทัดคำสั่งที่ทรงพลัง ฯลฯ


นอกจากนี้ยังจะต้องใช้ GhostScript และฉันจะทำการเขียนโปรแกรมกับผู้ที่รู้ว่าการจัดการการพึ่งพาจำนวนมาก ฉันคิดว่าอาจมีเครื่องมือง่ายๆที่ทำเช่นนั้น หลังจากกรณีการใช้งานทั้งหมดค่อนข้างง่าย
Ska

ไม่ควรยากขนาดนั้นตราบใดที่คุณมี ImageMagick และ GhostScript ติดตั้งอยู่และ ImageMagick สามารถค้นหา GS ได้คุณสามารถใช้บรรทัดคำสั่ง IM ซึ่งทำให้สคริปต์ง่าย สิ่งนี้ถือว่าชื่อไฟล์นั้นจะจัดการกับไฟล์ในลำดับที่ถูกต้อง แต่ถ้าไม่เช่นนั้นมันจะซับซ้อนกว่านี้อยู่ดี สำหรับ Windows นี่คือคู่มือหนึ่งที่จะได้รับพวกเขาทำงานร่วมกัน: stackoverflow.com/questions/3243361/... ยังคงคำตอบอื่น ๆ จะดีกว่าสำหรับ Macs
fencepost

ขอบคุณสำหรับเคล็ดลับที่ยอดเยี่ยมเกี่ยวกับ IM, fencepost คุณเรียนรู้สิ่งใหม่ทุกวัน. สำหรับคำถามเดิมฉันจะลองวิธีแก้ปัญหาของ slhck ก่อน
Ska

คุณค่อนข้างยินดีต้อนรับ ฉันโพสต์ไม่ทราบว่า A) คุณใช้ Mac และ B) การสนับสนุน Ghostscript บน Macs นั้นลดลงอย่างเห็นได้ชัดด้วยเหตุผลบางประการ - หรืออย่างน้อยก็ไม่ได้ใช้ Windows และ * nix
fencepost
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.