Bir PDF dosyasından vektörler nasıl çıkarılır?


51

İçinde vektör görüntüleri olan bir PDF dosyası var. (İnternetten indirdim, bu yüzden orijinalim yok.)

Vektörleri çıkarmak istiyorum, böylece diğer bazı görüntülerin üzerine bindirebiliyorum; bunları basılı medyada veya bir web sitesinde kullanın.

Belirli vektörleri PDF dosyasından nasıl çıkarırım?

Bir PDF dosyasından vektörleri çıkarabilecek herhangi bir yazılım var mı? (Tercihen ücretsiz.)


@slhck: Vektör grafikleri demek istedim . Inkscape'i kullandım ve beklendiği gibi çalışıyor. Lütfen yorumunuzu Cevap olarak kabul edebilir misiniz?
Devdatta Tengshe

Yanıtlar:


49

Ücretsiz, açık kaynaklı ve platformlar arası bir vektör grafik uygulaması olan Inkscape'i kullanabilirsiniz . PDF dosyalarını içe aktarmanıza ve gömülü vektörleri seçmenize izin verir. Daha sonra bunları düzenleyebilir ve istediğiniz gibi işleyebilirsiniz.

Inkscape web sitesinde ayrıntılı dokümantasyon mevcuttur.

Linux'ta bunun X11 gerektirdiğini unutmayın. Yerel bir Windows sürümü de var.

Alternatif olarak, Adobe Illustrator uygulamasına bir deneme (ücretli yazılım) vermek isteyebilirsiniz.


2
Linux'ta X11'i gerektirir - yerel bir Windows sürümü de var (ki bir PDF'den bir vektör çizim çıkarmak için güzel kullandım).
Mark Leighton Fisher

23

Inkscape bunu yapmanın harika bir yolu olsa da, X11'den yoksun olanlar için, ayrıca PDF'nin tek tek sayfalarını komut satırındaki poppler-utils komutunu kullanarak SVG formatına aktarabilirsiniz . Örneğin, sadece sayfa 30’u çıkarmak için:

$ pdftocairo -f 30 -l 30 -svg  somehugemanual.pdf  myextractedpage.svg

Görüntüyü metinden izole etmek için favori vektör düzenleyicinizi (mine is Inkscape) kullanabilirsiniz.

Alternatif olarak, sert bir komut satırı kullanıcısıysanız, EPS'ye (kapsüllenmiş postscript) ayıklayabilir ve sedtüm metni gizlemek için kullanabilirsiniz (pdftocairo için BT ve ET satırları arasında olur). İşte nasıl:

$ pdftocairo -f 30 -l 30 -eps  manual.pdf  - | sed '/^BT$/,/^ET$/ d' > myimage.eps

X11'i kullanmaktan kaçınmakta gerçekten deliyseniz, Ghostscript'in eps2epskomutunu kullanarak görüntünün sınırlayıcı kutusunu komut satırından daraltabilirsiniz :

$ eps2eps myimage.eps myimage-bb.eps

Bunu test ettim ve harika çalışıyor. Ancak, şahsen, sadece Inkscape'i kullanmayı daha kolay buluyorum.


Komut satırınızı + 1'leyin tüm metni çıkarır .. ama tüm görüntüleri nasıl çıkartacağınızı biliyor musunuz? Sadece vektör grafiğinin kaldığı bir çözüm arıyorum :)
clarkk

Bu senin için uygun mu? cat foo.eps | sed '/^8 dict dup begin$/,/^Q$/ c Q' > nobitmaps.eps
hackerb9

1
Fakat eps dosyasının vektör grafiğinin bile olup olmadığını kontrol etmek mümkün mü? :)
clarkk

1
Galiba Ghostscript'in eps2eps'lerini en küçük sınırlayıcı kutusuna kadar damıtıp tamamen boş olup olmadığını görmek için kullanabilirsiniz. Ancak bu yeni bir soru olmaya başlıyor. Sormakta çekinmeyin ve eminim cevap vermezsem, birileri cevap verir.
hackerb9

1
@ hackerb9 teşekkürler, şimdi eps okunabilir, ancak görüntü gerçekten düşük yoğunluklu ve hala bazı metinler etrafında kalıyor. Pdf burada ve resim sayfa 7'de.
rtrtrt
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.