กำลังแตกภาพพื้นหลังจากไฟล์ PDF หรือไม่


8

ฉันมีไฟล์ PDF ที่มีแผนที่อาคารที่ฉันทำงานอยู่ที่นี่:

http://www.libsys.und.edu/dev/FloorPlans_All.pdf

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

จนถึงตอนนี้ฉันได้ลองใช้โปรแกรม GUI ต่อไปนี้:

  • Adobe Reader: ให้ฉันเลือกข้อความ แต่ไม่ใช่ภาพพื้นหลัง
  • FoxIt PDF Viewer: ให้ฉันเลือกข้อความได้ แต่ไม่ใช่ภาพพื้นหลัง
  • XPDF บน Ubuntu 10.10: อนุญาตให้เลือกข้อความ แต่ไม่ใช่ภาพพื้นหลัง

และโปรแกรมบรรทัดคำสั่งต่อไปนี้:

  • pdfimages: แยกไอคอนระบุห้องน้ำได้ดี แต่ไม่ใช่ภาพพื้นหลัง
  • pdftohtml: เหมือนกับ pdfimages และมันทำให้เอกสาร HTML ที่ทำเครื่องหมายไม่ดี
  • pdfextract: เหมือนกับ pdfimages
  • แปลง: บันทึกภาพสำเร็จ แต่ด้วยข้อความที่ถูกเผาเข้าไป

ฉันได้ลองเปิด PDF ด้วยตนเองในโปรแกรมแก้ไขข้อความและแยกวัตถุสตรีมโดยวางลงในไฟล์ใหม่และบันทึกด้วยนามสกุล. jpg, .png หรือ. bmp (แต่ละอัน) เมื่อพิจารณาถึงความรู้เกี่ยวกับโครงสร้างภายในของไฟล์ PDF ฉันไม่แปลกใจเลยว่ามันไม่ได้ผล

ดังนั้น ... มีวิธีใดบ้างที่ฉันสามารถดึงภาพแผนที่จากสิ่งนี้โดยไม่ได้รับข้อความและไอคอน?


วิธีที่ฉันมักจะแก้ปัญหางานประเภทนี้: (1) ใช้qpdfในการแปลงส่วนไบนารีเป็น ASCII เท่าที่จะทำได้ (2) ใช้โปรแกรมแก้ไขข้อความเพื่อทำให้ข้อความทั้งหมดที่มองไม่เห็นที่ฉันไม่ต้องการเห็นบนหน้าจอหรือในงานพิมพ์ (สามารถทำได้อย่างง่ายดายและไม่มีความเสียหายกับตาราง XRef โดยการสลับธงที่มองไม่เห็น ) (3) กลั่นผลลัพธ์อีกครั้งด้วย Ghostscript เพื่อลดขนาดให้มากที่สุด - น่าเสียดายที่ไฟล์ของคุณไม่สามารถดาวน์โหลดได้อีกต่อไปเพื่อแสดงขั้นตอน ...
Kurt Pfeifle

คำตอบ:


7

คุณสามารถดาวน์โหลดไลบรารี XPDF ได้จากhttp://www.foolabs.com/xpdf/download.htmlสำหรับ Linux และ Windows จากนั้นเรียกใช้pdfimages -j input.pdf outputและคุณควรจะได้รับoutput-000.jpgและoutput-001.jpgดูที่http://linuxcommand.org/man_pages/pdfimages1.htmlเพื่อดูตัวเลือกการใช้งานเพิ่มเติม


1
การแก้ไขดูเหมือนว่าภาพเป็นกราฟิกแบบเวกเตอร์ที่ฝังอยู่ใน PDF โดยตรง ลองเปิดในบางสิ่งเช่น Inkscape หรือ Adobe Illustrator ที่จัดการกับกราฟิกแบบเวกเตอร์
mybluevan

อ้า! แผนที่เป็นกราฟิกแบบเวกเตอร์ - ไม่น่าแปลกใจที่ฉันมีปัญหาเช่นนี้! Inkscape ดูเหมือนว่าจะเปิดขึ้นมาได้ดีและฉันสามารถแก้ไขมันลงในเนื้อหาของหัวใจของฉัน ขอบคุณ!
Will Martin จะ

2

ตกลงหลังจากยุ่งกับสิ่งนี้เป็นเวลา 5 นาทีการวิเคราะห์ของฉันคือ PDF นั้นยิ่งแปลกกว่าที่ฉันคิดไว้ในตอนแรก

ไม่แน่ใจว่างบประมาณของคุณคืออะไร แต่ด้วย Acrobat Pro Extended 9 คุณสามารถใช้:

A. เครื่องมือ, การแก้ไขขั้นสูง, เครื่องมือข้อความแบบสัมผัส

-Select All
-Right click, Properties
-Text tab
-Select a standard font (e.g. Arial), close
-Hit Delete

B. เครื่องมือ, การแก้ไขขั้นสูง, เครื่องมือวัตถุ Touchup

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

นี่คือสิ่งที่หน้า 1 ดูเหมือนหลังจากล้างข้อมูลด่วน: http://dl.dropbox.com/u/7434256/p1test.pdf


แปลกคือการพูดเกินจริง ฉันไม่รู้ประวัติของไฟล์นี้ แต่ Acrobat Pro 8 ทำให้เราเดือดร้อน แม้ว่า Inkscape ทำกลอุบายขอบคุณพระเจ้า ตอนนี้แปลงเป็น SVG ที่เหมาะสมที่เราสามารถสร้างกราฟิกแรสเตอร์จาก ...
Will Martin

1
งานที่คุณทำกับ PDF ดั้งเดิม (ซึ่งน่าเสียดายที่ฉันไม่สามารถใช้ได้อีกต่อไปแล้ว) ไม่ใช่งานที่ดีที่สุด ไฟล์ของคุณยังคงอยู่ ~ 3 MByte มันมีวัตถุที่ไม่ได้ใช้มากมาย มันมีตัวอย่างของ/AAโอเปอเรเตอร์ (สำหรับการดำเนินการอัตโนมัติ ) ทำให้เป็นไฟล์ PDF ที่อาจเป็นอันตราย Ghostscript สามารถต้มลงไปที่ 60 kByte โดยไม่ทำให้เนื้อหาที่มองเห็นหายไป (ข้อมูลเมตาที่มีอยู่ในไฟล์แผ่กระจายไปทั่ววัตถุ 17 ชนิดข้อมูลเมตาแสดงว่ามีการแก้ไข / แก้ไขไฟล์ที่แตกต่างกัน 17 รายการนับตั้งแต่สร้างเมื่อวันที่ 2011-01-18)
Kurt Pfeifle

@pipitas ฉันดีใจที่ฉันตรวจสอบสิ่งนี้อีกครั้งปรากฎว่า Apache ไม่ทำงานบนเซิร์ฟเวอร์นั้น PDF ต้นฉบับพร้อมใช้งานอีกครั้ง มันยังคงน่ารำคาญอยู่ดี ฉันได้ค้นพบตั้งแต่ว่าแผนที่นั้นสร้างจากไฟล์ AutoCAD DXF ซึ่งสร้างขึ้นมาเพื่อกราฟิกเวกเตอร์ที่น่าเกลียดอย่างจริงจัง มีเส้นทางหลายร้อยเส้นทางในแต่ละแผนที่โดยแต่ละเส้นจะมีจุดสิ้นสุดสองจุด นี่อาจทำให้สถาปนิกสามารถปรับเปลี่ยนผนังแต่ละส่วนหรืออะไรก็ได้ง่ายขึ้น แต่มันเจ็บปวดในสิ่งอื่นใด
Will Martin จะ

@ Will Martin: Ouch! นี่เป็นไฟล์ PDF ที่ค่อนข้างใหญ่ซึ่งมีการอัปเดตไฟล์ภายในและซ่อนอยู่มากมาย (และสำหรับ: ขยะจากมุมมองของผู้ใช้) - 16 หน้าใน 16 เมกะไบต์ค่อนข้าง "หนัก" สำหรับกราฟิกแบบเวกเตอร์ที่ดูเรียบง่าย อย่างน้อย 16 ชั้นที่แตกต่างกัน ("เนื้อหาเสริม" ใน PDF parlance) หนึ่งชั้นสำหรับแต่ละหน้า ฉันไม่อยากลุยงานนี้ด้วยเท็กซ์เอดิเตอร์เท่านั้น ...
Kurt Pfeifle

2
@pipitas: ขอบคุณ - คะแนนยุติธรรม แม้ว่าฉันจะไม่อธิบายสิ่งที่ฉันทำในฐานะ "งาน" - ฉันแค่แสดงให้เห็น (หลังจากเล่นไปสองสามนาที) ว่ามันเป็นไปได้ด้วย Acrobat รับประกันคืนเงินและทุกสิ่งที่ ;)
Craig H

1

ใช้ PDF ซึ่งสร้างโดย Craig H และปรับให้เหมาะสมเล็กน้อยโดยเรียกใช้ผ่าน Ghostscript ใน Windows commandline คือ:

gswin32c.exe ^
   -o p1test-gs-optimized.pdf ^
   -sDEVICE=pdfwrite ^
   -dPDFSETTIINGS=/prepress ^
    p1test.pdf

บน Linux / Unix / Mac OS X ทำได้:

gs \
   -o p1test-gs-optimized.pdf \
   -sDEVICE=pdfwrite \
   -dPDFSETTIINGS=/prepress \
    p1test.pdf

สิ่งนี้จะทำให้ขนาดของไฟล์ลดลงจาก 3.000 kByte เป็นประมาณ 60 kByte โดยไม่ทำให้เนื้อหาเสีย จากนั้นนำเข้าสู่ Inkscape (หรือ InDesign, Illustrator, ... ) น่าจะเร็วกว่ามาก ....


1

... คุณสามารถลองใช้ Photoshop มันอ่านไฟล์ PDF และมันเป็นไปได้ที่มันมาใน PS และอาจจะยังมีเลเยอร์ ... แต่มันเป็นช็อตที่ยาวมาก


0

ในสภาพแวดล้อม Linux ฉันใช้pdfmodเพื่อดึงภาพทั้งหมดในครั้งเดียว ดูhttps://wiki.gnome.org/Apps/PdfModหรือสำหรับผู้ใช้ Ubuntu, https://apps.ubuntu.com/cat/applications/pdfmod/

sudo apt-get install pdfmodในการดาวน์โหลดและติดตั้งในอูบุนตูมันเพียงพอที่จะประเภท

  • เริ่ม pdfmod GUI (พิมพ์ในpdfmodแผงควบคุมหรือเทอร์มินัลบรรทัดคำสั่ง)
  • เปิดเอกสาร PDF
  • เลือกหน้าทั้งหมด (หรือสิ่งที่คุณต้องการแยกภาพ)
  • รายการเมนูแก้ไขจะนำเสนอตัวเลือกในการดึงภาพต่าง ๆ ให้มากที่สุดเท่าที่จะสามารถดึงได้ภายในช่วงที่เลือก ( export n imagesพร้อมด้วยจำนวนที่เหมาะสม) นอกจากนี้คุณยังสามารถเข้าถึงคำสั่งนี้ได้โดยการเลื่อนเม้าส์ไปที่การเลือกและเปิดใช้งานเมนูท้องถิ่น (คลิกขวาสำหรับมือขวา)
  • เมื่อคุณไปข้างหน้าด้วยสิ่งนี้หน้าต่างใหม่จะเปิดขึ้นในตำแหน่งที่คุณเลือกตำแหน่งที่จะบันทึกภาพ

หวังว่านี่จะช่วยได้


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

@DavidPostill ขอบคุณที่ชี้นำสิ่งนี้ เสร็จแล้วฉันเชื่อ
XavierStuvw

ดีกว่ามาก ... ;)
DavidPostill

ตอนนี้ฉันรู้แล้วว่าสิ่งที่ฉันต้องการจากคำตอบสำหรับโพสต์ของฉันคือ :-)
XavierStuvw

-1

เปิดเอกสารบนหน้าจอของคุณขยายภาพเพื่อให้มีขนาดใหญ่ที่สุดเท่าที่จะทำได้ แต่ยังคงมองเห็นได้ทั้งหมด กด alt + prnt scrn (หรือเทียบเท่าในระบบปฏิบัติการของคุณ) และควรถ่ายภาพหน้าจอของโปรแกรม ตอนนี้เปิดโปรแกรมระบายสีหรือโปรแกรมแก้ไขรูปภาพที่คุณชื่นชอบ (photoshop, gimp ฯลฯ ) วางในภาพและครอบตัดสิ่งที่คุณไม่ต้องการ


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