แยกภาพฝังตัวจาก PDF


165

ก่อนที่ฉันจะเริ่มใช้ Ubuntu ฉันใช้เครื่องอ่าน Nitro PDF เพื่อดึงภาพจากไฟล์ PDF โดยอัตโนมัติ มีโปรแกรมอ่าน PDF สำหรับ Linux หรือไม่

ฉันต้องการที่จะดึงภาพได้เร็วขึ้น / ง่ายขึ้นกว่าเมื่อถ่ายภาพ


คุณจำได้ไหมว่า NitroPDF สามารถทำกับภาพเวกเตอร์ได้ดีแค่ไหน? สามารถpdfimagesทำมันได้ดี / worser กว่า NitroPDF?
LéoLéopold Hertz 준영


2
@ funky-future ชัดเจนสองคำถามซ้ำกัน แต่เป้าหมายที่ซ้ำกันของคุณมีเพียงสองคำตอบและหนึ่งในสองคำตอบนี้เป็นคำตอบที่เป็นสแปมดังนั้นทิศทางของการทำซ้ำควรย้อนกลับเพื่อบันทึกคำถามนี้จากการถูกค้อนทุบโดย dupe
karel

คำตอบ:


197

ใช้ pdfimages

pdfimages เป็นเครื่องมือแยกรูปภาพ PDF ซึ่งบันทึกรูปภาพในไฟล์ PDF เป็นไฟล์ PPM, PBM, JPEG หรือ JPEG 2000

เป็นส่วนหนึ่งของpoppler-utilsแพ็คเกจที่คุณจะต้องติดตั้ง

การใช้งาน: pdfimages [options] <PDF-file> <image-root>

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

pdfimages -j in.pdf /tmp/out

จะบันทึกรูปภาพจากไฟล์ PDF in.pdfในไฟล์/tmp/out-000.jpg(หรือ/tmp/out-000.pbmดูด้านล่าง) /tmp/out-001.jpgฯลฯ


หน้า pdfimages manอธิบาย:

-j:  Normally, all images are written as PBM (for monochrome images) or PPM for
     non-monochrome images) files. With this option,  images in DCT format are
     saved as JPEG files. All non-DCT images are saved in PBM/PPM format as usual.

8
คงจะดีถ้ามีโซลูชันที่แยกรูปภาพในรูปแบบดั้งเดิม การเข้ารหัส JPEGs ซ้ำไม่เหมาะอย่างยิ่ง
คริสเตียน

32
@Christian จากหน้าคน-all Write JPEG, JPEG2000, JBIG2, and CCITT images in their native format. CMYK files are written as TIFF files. All other images are written as PNG files. This is equivalent to specifying the options -png -tiff -j -jp2 -jbig2 -ccitt.
wil93

2
โปรดทราบว่า-allสวิตช์นี้รองรับเฉพาะการแก้ไข poppler-utils ล่าสุด ตัวอย่างเช่นหากคุณยังอยู่ที่ 12.04 คุณจะไม่สามารถเข้าถึงตัวเลือกนี้ได้
Glutanimate

1
หากคุณไม่สามารถใช้-allรูปแบบ PNM ได้ พวกมันไม่สูญเสียและคุณสามารถประมวลผลภาพเช่น PNG
Tomasz Gandor

1
@Christian ใช้$ pdfimages -list <PDF-file>เพื่อตรวจสอบรูปแบบดั้งเดิมในคอลัมน์ "enc" ดังนั้นคุณไม่จำเป็นต้องเข้ารหัสรูปภาพอีกครั้งในรูปแบบอื่น
Jose Barakat

24

ฉันมักจะใช้ Inkscape สำหรับสิ่งนี้ โหลดหน้าและลบสิ่งอื่น ๆ ทั้งหมด ข้อดีคือคุณสามารถรับภาพเวกเตอร์ใน SVG และแก้ไขตามที่คุณเลือก


PDF บางตัวสามารถนำเข้าได้อย่างถูกต้องกับการนำเข้าภายใน Inkscape เท่านั้น (การนำเข้า poppler / cairo หรือ pdfimage ไม่สามารถแยกวิเคราะห์ได้อย่างถูกต้อง) เมื่อนำเข้าแล้วให้คัดลอกและวางภาพไปยังไฟล์ใหม่และปรับขนาดหน้าเพื่อเลือกgraphicdesign.stackexchange.com/a/21638/95041
sdaffa23fdsf

ไม่มีปัญหาสำหรับฉันนั่นเป็นทางออกที่ดีที่สุดโปรดทราบว่าคุณต้องเลือกทีละหน้า!
Jimmy Olano

5

ฉันมีไฟล์ PDF สองคอลัมน์ที่มีรูปภาพฝังตัวที่สร้างขึ้นด้วย LaTeX ซึ่งมีรูปภาพต้นฉบับให้เป็น EPS ฉันลองใช้วิธีแก้ปัญหาที่เสนอตามpdfimagesแต่น่าเสียดายที่มันไม่ได้ส่งคืนรูปภาพใด ๆ ฉันพยายามใช้ Inkscape แล้ว แต่ภาพ SVG ที่สร้างขึ้นนั้นผิดเพี้ยนและฉันก็ไม่มีโชคที่ส่งออกเป็น EPS เช่นกัน

ซอฟต์แวร์ที่ทำงานให้เราเป็นMasterPdfEditor

นี่คือขั้นตอน

  • เปิดไฟล์ของคุณโดยใช้ Master PDF Editor
  • ใช้เครื่องมือแก้ไข (Alt + 1) เพื่อเลือกภาพที่คุณต้องการแยก
  • คัดลอกรูป (Ctrl + C)
  • คลิกที่กรอบเส้นประล้อมรอบภาพและตรวจสอบแถบด้านข้างขวา (Object Inspector) และคลิกที่ "Geomerty" คุณสามารถดูขนาดที่คุณเลือกได้ที่นี่
  • สร้างไฟล์ใหม่ (Ctrl + N) มันจะแจ้งให้คุณระบุขนาดหน้า ระบุขนาดที่แน่นอนของรูปภาพของคุณและสร้างไฟล์ใหม่
  • ตอนนี้มันค่อนข้างยุ่งยาก: วางภาพ (Ctrl + V) รูปภาพอาจไม่แสดงในไฟล์ใหม่ ใช้ลูกศรเพื่อย้ายจนกว่าคุณจะสามารถติดตามได้
  • ใช้ลูกศรเพื่อจัดกึ่งกลางของภาพในหน้าใหม่
  • บันทึกเป็น PDF

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


นี่คือถามอูบุนตู ... เราชอบโอเพ่นซอร์สที่นี่และโซลูชันของคุณเป็นโซลูชั่นเชิงพาณิชย์แบบโอเพ่นซอร์ส ... นี่เป็นคำตอบที่ดีกว่าแล้วหรือไม่? (-1 ในเวลาเฉลี่ย)
Fabby

3
@ Fabby ขอบคุณสำหรับความคิดเห็น ฉันไม่รู้เกี่ยวกับมัน มีกฎเช่นนี้ใน askubuntu.com หรือไม่? อย่างไรก็ตามทันทีที่คุณเปิดศูนย์ซอฟต์แวร์อูบุนตูคุณจะได้รับคำแนะนำสำหรับแอปพลิเคชันที่ไม่ต้องเสียค่าใช้จ่าย
Pantelis Sopasakis

ไม่มีไม่มี "กฎ" และนั่นคือเหตุผลที่ผมไม่ได้ลงคะแนนเพื่อลบคำตอบนี้ แต่มีเครื่องมือที่ดีกว่าที่มีอิสระ (ในขณะที่ฟรีเบียร์และพูดฟรี) เพื่อให้เป็นเพียงความเห็น
Fabby

1
+1 ฉันใช้ ImageMagick command-line แล้ว แต่นี่เป็นวิธีแก้ปัญหาที่น่าสนใจสำหรับคนที่กำลังมองหา GUI
rpmcruz

2
มันใช้งานได้สำหรับบางคนนั่นก็ดีพอ อย่าเป็นนาซี .... ฉันไม่รู้ว่า "เรา" คือใคร คุณสามารถพูดได้ด้วยตัวเอง +1 สำหรับคำตอบ
sdaffa23fdsf

4

คุณอาจลอง pdfmod มันเป็น GUI (ส่วนต่อแบบกราฟิก) ซึ่งสามารถแยกรูปภาพและจัดการไฟล์ PDF พื้นฐานอื่น ๆ


อืมดูเหมือนว่าจะบั๊กสำหรับฉันเล็กน้อย แทรก PDF ที่มีภาพสีม่วงเป็นส่วนใหญ่และมีภาพเป็นสีเขียว
DBX12

2

หากสิ่งที่คุณต้องการคือภาพที่ถูกครอบตัดในรูปแบบ pdf / eps ให้แตกหน้าด้วยภาพโดยใช้pdfmod(ตามที่แนะนำโดยสิ่งที่ต้องทำ)

จากนั้นใช้pdfcropคุณสามารถครอบตัดมันได้อย่างถูกต้องตั้งค่าระยะขอบโดยการทดลองและข้อผิดพลาด:

pdfcrop --margins "-15 -50 0 -140" extracted_page.pdf

1

ฉันใช้ pdfimages ซึ่งเป็นเครื่องมือบรรทัดคำสั่งและใช้งานได้ดีสำหรับฉัน มันใช้งานง่ายมากและคุณสามารถใช้ - ช่วยเหลือตัวเลือกเพื่อเรียนรู้เพิ่มเติมเกี่ยวกับการใช้งาน ฉันใช้ Ubuntu และติดตั้งมาล่วงหน้า หากไฟล์ pdf ของคุณถูกเข้ารหัสหรือป้องกันด้วยรหัสผ่านจะมีตัวเลือกให้เลือกดังนั้นเครื่องมือนี้จึงใช้งานได้ดี คุณสามารถอ่าน เพิ่มเติมเกี่ยวกับ pdfimages ได้ ที่นี่


4
โปรดอ่านคำตอบอื่น ๆ ก่อนโพสต์ของคุณ แจ้งให้ทราบล่วงหน้ามีอื่น ๆ ซึ่งครอบคลุมถึงเรื่องนี้
edwin

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

หากคุณได้รับชื่อเสียงมากพอคุณสามารถแสดงความคิดเห็นในคำตอบของผู้อื่นหรือยกระดับพวกเขา
edwin

1

ด้วย pdfimages รูปภาพที่แยกอาจเป็นสองส่วนขึ้นไป วิธีง่ายๆในการรวมเข้าด้วยกันอีกครั้งโดยไม่ต้องกังวลเกี่ยวกับรูปแบบที่แยกออกคือการนำเข้าส่วนต่างๆลงใน LibreOffice Draw, ครอบตัดด้วยกล่องโต้ตอบการครอบตัดรูปภาพวางชิ้นส่วนปรับขนาดหน้าและส่งออกในรูปแบบที่คุณต้องการ


1

หากคุณต้องการครอบตัดรูปภาพจาก pdf ด้วย pdfviewer คุณสามารถลองใช้ได้ มันสามารถครอบตัดอะไร (ข้อความหรือรูปภาพ) ในรูปแบบ png หรือ jpeg หากคุณต้องการแยกภาพในรูปแบบ png จาก pdf คุณสามารถทำได้ด้วยคำสั่งขั้นต่ำด้วย pdftohtml มันแปลงไฟล์ PDF เป็น html plus images นี่คุณจะพบตัวอย่าง - https://www.youtube.com/watch?v=CG1rf7k3xo8 หากคุณต้องการดึงหลายภาพจาก pdf ฉันแนะนำให้คุณลองทำดู


0

ซอฟต์แวร์ที่ใช้: Xreader OS: Antergos

ขั้นตอน:

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