Bir PDF dosyasından arka plan resimleri çıkartılıyor?


8

Çalıştığım binanın haritalarını içeren bir PDF dosyasına burada sahibim:

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

Orijinal kaynak dosyaları kayboldu ve harita görüntülerini, üzerlerine üst üste yerleştirilmiş olan metin ve simgeler olmadan çıkarmam istendi . Bu can sıkıcı derecede zor oldu.

Şimdiye kadar aşağıdaki GUI programlarını denedim:

  • Adobe Reader: Metin seçmeme izin veriyor, fakat arka plan resimlerini değil
  • FoxIt PDF Viewer: metin seçmeme izin veriyor, fakat arka plan resimlerini değil
  • Ubuntu 10.10'daki XPDF: mes metni seçer, fakat arka plan resimlerini seçmez

Ve ayrıca aşağıdaki komut satırı programları:

  • pdfimages: banyoların gayet iyi olduğunu belirten, ancak arka plandaki resimleri gösteren simgeleri çıkarır
  • pdftohtml: pdfimages ile aynı, ayrıca kötü bir şekilde işaretlenmiş HTML belgesi yapar
  • pdfextract: pdfimages ile aynı
  • convert: başarıyla kaydedilen resimler, ancak metin içine yazılan

PDF'yi bir metin düzenleyicide manuel olarak açmayı ve akış nesnelerini yeni bir dosyaya yapıştırarak ve .jpg, .png veya .bmp uzantısıyla (her biri sırayla) kaydederek çıkarmayı bile denedim. PDF dosyalarının iç yapısı hakkında ne kadar az şey bildiğime bakıldığında, bunun işe yaramadığı şaşırtıcı değil.

Öyleyse ... metin ve simgeleri almadan haritadaki görüntüleri bu şeyden alabilmemin bir yolu var mı?


Genelde bu tür bir görevi çözme yöntemim: (1) qpdfİkili parçaları mümkün olduğunca ASCII'ye dönüştürmek için kullanın . (2) Ekranda veya çıktılarda görmek istemediğim tüm metni görünmez yapmak için bir metin düzenleyici kullanın ( görünmez bayrağı değiştirerek XRef tablosuna kolayca ve zarar vermeden ulaşılabilir ). (3) Ghostscript ile sonucu mümkün olduğunca kaynatmak için tekrar damıtın. - Ne yazık ki, dosyanız prosedürü göstermek için artık indirilemez ...
Kurt Pfeifle

Yanıtlar:


7

XPDF kütüphanesini Linux ve Windows için http://www.foolabs.com/xpdf/download.html adresinden indirebilirsiniz . O zaman kaç pdfimages -j input.pdf outputve almalısınız output-000.jpg, output-001.jpgvb Ayrıca, kontrol http://linuxcommand.org/man_pages/pdfimages1.html daha fazla kullanım seçenekleri için.


1
Düzeltme, görüntünün doğrudan PDF'ye gömülü bir vektör grafiği gibi göründüğünü gösterir. Vektör grafiklerini işleyen Inkscape veya Adobe Illustrator gibi bir şeyde açmayı deneyin.
mybluevan

Ah HA! Haritalar vektörel grafiklerdir - böyle bir sıkıntı yaşadığımı şaşırtmam! Inkscape gayet iyi açmış görünüyor ve kalbimin içeriğine göre düzenleyebiliyorum. Teşekkürler!
Martin

2

Tamam, bununla 5 dakika uğraştıktan sonra analizlerim, PDF'nin düşündüğümden daha tuhaf olduğudur ve bu bir şey söylüyor.

Bütçenizin ne olduğundan emin değilim, ancak Acrobat Pro Extended 9 ile şunları kullanabilirsiniz:

A. Araçlar, Gelişmiş Düzenleme, Rötuş Metin Aracı

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

B. Araçlar, Gelişmiş düzenleme, Temas Nesnesi Aracı

-Olanı seç (en fazla, ama hepsini değil, hepsini alabilirsin (örneğin, öğrenci bilgisayar simgeleri seçilemez), sonra sil

İşte Page 1 hızlı bir temizlikten sonra neye benziyordu: http://dl.dropbox.com/u/7434256/p1test.pdf


Tuhaflık yetersizdir. Bu dosyanın geçmişini bilmiyorum ama Acrobat Pro 8 bize sorun çıkardı. Inkscape işe yaramadı, şükürler olsun. Şimdi hepsini raster grafikler oluşturabileceğimiz bazı uygun SVG'lere dönüştürmek için ...
Will Martin

1
Orijinal PDF'de yaptığınız iş (maalesef artık benim için uygun değil) en iyisi değil. Dosyanız hala ~ 3 MByte. Çok fazla + kullanılmayan nesneler içeriyor. Hatta potansiyel olarak tehlikeli bir PDF dosyası yapan bir /AAoperatör örneği ( Otomatik İşlem için ) bile içerir . Ghostscript görünür içeriğini kaybetmeden 60 kByte seviyesine kadar kaynatmayı başardı. (Dosyadaki meta veriler 17 farklı nesneye yayılmıştır. Meta veriler ayrıca, 2011-01-18 tarihinde oluşturulduğundan bu yana, o dosyanın 17 farklı düzeltmesi / modifikasyonu olduğunu ileri sürer.)
Kurt Pfeifle

@pipitas Sevindim, bunu tekrar kontrol ettim, Apache'nin sunucuda olduğu ortaya çıktı. Orijinal PDF tekrar mevcuttur. Yine de can sıkıcı bir durum. O zamandan beri, haritaların ciddi şekilde çirkin vektör grafikleri oluşturan AutoCAD DXF dosyalarından oluşturulduğunu keşfettim. Her haritada yüzlerce ayrı yol var, her biri iki bitiş noktası olan tek bir satır. Bu muhtemelen bir mimarın duvarın her bir bölümünü veya başka bir kısmını değiştirmesini kolaylaştırdı, ama bu başka bir şey için popoda bir acı.
Martin

@ Martin: Ouch !, Bu, pek çok dahili, gizli dosya güncellemesi içeren oldukça büyük bir PDF dosyasıdır (ve bunun için: kullanıcı açısından çöp). - 16 MByte'taki 16 sayfa sadece basit görünümlü vektör grafikleri için "ağır" dır. Her sayfa için en az 16 farklı katman (PDF parlance olarak "İsteğe Bağlı İçerik"). Bu karışıklığı sadece bir metin editörü ile bitirmeyi tercih etmem ...
Kurt Pfeifle

2
@pipitas: Teşekkürler - adil puanlar. Ne yaptığımı "iş" olarak tanımlamamama rağmen - Acrobat'la mümkün olduğunu gösterdim (birkaç dakika oynadıktan sonra). Para iade garantisi ve hepsi bu. ;)
Craig H

1

Craig H tarafından hazırlanan PDF'yi alın ve Ghostscript ile çalıştırarak biraz optimize edin. Windows'ta komut satırı:

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

Linux / Unix / Mac OS X'te:

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

Bu, içeriği kaybetmeden dosyanın boyutunu 3.000 kByte'dan yaklaşık 60 kByte'ye düşürür. Sonra Inkscape'e (veya InDesign, Illustrator, ...) içe aktarılması çok daha hızlı olmalı ....


1

... Photoshop’u deneyebilirsin. PDF'leri okuyor ve PS'den kaynaklanmış 'olası' ve muhtemelen hala katmanları var ... ama çok uzun bir çekim.


0

Bir Linux ortamında tüm görüntüleri tek seferde çıkarmak için pdfmod kullandım . Bkz https://wiki.gnome.org/Apps/PdfMod ya, Ubuntu kullanıcıları için, https://apps.ubuntu.com/cat/applications/pdfmod/

Ubuntu'da indirip kurmak için, yazmanız yeterlidir sudo apt-get install pdfmod.

  • Pdfmod GUI'yi başlatın ( pdfmodkontrol panelinde veya komut satırı terminalinde yazın)
  • PDF belgesini aç
  • Tüm sayfaları seçin (veya görüntüleri çıkarmak istediğinizlerden birini seçin).
  • Düzen menüsü öğesi, seçilen aralıkta çıkarılabilecek kadar çok resim çıkarma seçeneği sunacaktır ( export n imagesuygun sayıda n ile). Bu komuta, farenizle seçimin üzerine getirip yerel menüyü etkinleştirerek de erişebilirsiniz (sağ taraf için sağ tıklayın).
  • Bununla devam ettiğinizde, görüntüleri kaydedeceğiniz yeri seçtiğiniz yeni bir pencere açılır.

Bu yardımcı olur umarım.


Lütfen okuyun Yazılım önerisi hakkında nasıl gitmeniz gerektiği hakkında bazı ipuçları için yazılımı nasıl öneririm. Örneğin, yazılımın kendisi hakkında bazı ek bilgiler ve sorudaki sorunu çözmek için nasıl kullanılabileceği gibi sadece bir bağlantıdan fazlasını sağlayın. Hatta bazı örnek komut satırları bile ekleyebilirsiniz.
DavidPostill

@DavidPostill. Bunu gösterdiğin için teşekkürler. Tamam, inanıyorum.
XavierStuvw

Çok daha iyi ...;)
DavidPostill

Şimdi mesajlarımın cevaplarından ne isteyebileceğimi biliyorum :-)
XavierStuvw

-1

Belgeyi ekranınızda açın, mümkün olduğunca büyük hale getirmek için resmi yakınlaştırın, ancak tümü hala görünür durumda. Alt + prnt scrn (veya işletim sisteminizdeki karşılığı) tuşuna basın; programın ekran görüntüsünü almalıdır. Şimdi boyayı açın ya da en sevdiğiniz resim düzenleyiciyi (photoshop, gimp, etc) fotoğrafa yapıştırın ve istemediğiniz her şeyi kırpın.


Bu, ekran görüntüsündeki görüntülerde arka plan görüntüsü üzerinde bulunan simgeleri de içerir ve ekranın çözünürlüğünü kullanır. Daha iyi bir yol olmalı.
Zachiel
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.