2012-08-23 24 views
11

Tôi muốn trích xuất một số hình ảnh pdf từ một bài báo cho mục đích thuyết trình. Trong các cửa sổ, Adobe Illustrator hoạt động tốt, nhưng bây giờ tôi phải thực hiện tác vụ này trong một hộp Debian.Trích xuất đồ họa vector từ pdf với Inkscape

Hai giải pháp phổ biến tôi tìm thấy trực tuyến đang sử dụng

Các pdfimage không đáp ứng được nhu cầu của tôi kể từ khi tôi muốn đồ họa vector (pdf) chứ không phải là jpgs vì vậy tôi thích để sử dụng Inkscape, nhưng nó không hoạt động như mong đợi. Tôi hy vọng tôi có thể sử dụng một số công cụ chọn để kéo một hộp và chọn tất cả mọi thứ bên trong như tôi thường làm với Illustrator, nhưng không có công cụ nào trong Inkscape hoạt động.

Nếu tôi sử dụng công cụ "chọn và biến đổi đối tượng" (mũi tên màu đen), toàn bộ trang pdf được chọn trong khi tôi chỉ muốn một phần nhỏ; nếu tôi sử dụng công cụ "chỉnh sửa đường dẫn bằng nút" (mũi tên hình tam giác màu đen có một số nút), tôi chỉ có thể chọn một đối tượng duy nhất tại một thời điểm. Kéo và thả (ngay cả khi bấm phím shift) không hoạt động.

Tôi tự hỏi nếu có cách nào để giải quyết vấn đề này, hoặc có công cụ nào tốt hơn trong Debian để đạt được điều tương tự không? Cảm ơn.

Trả lời

17

Theo thiển ý của tôi, tôi có thể gợi ý cách tôi sử dụng để có được vector hình ảnh từ pdf

có một công cụ gọi là

pdftocairo, chứa vào poppler-utils

cú pháp:

pdftocairo [options] <PDF-file> [<output-file>] 

pdftocairo có thể sản xuất, sản lượng, cả hai raster và định dạng vector, giữa những cuối cùng, nó có thể chuyển đổi nội dung của trang pdf đơn (nếu bạn có một nhiều trang pdf doc, trước tiên bạn cần phải nổ này trong các trang pdf đơn của nó, với pdftk ví dụ), thành:

  • -ps: tạo tập tin PostScript
  • -eps: tạo Encapsulated PostScript (EPS)
  • -svg: tạo ra một Scalable Vector Graphics (SVG) nộp

định dạng đầu ra tốt nhất cho nhu cầu của bạn có thể là svg, vì vậy sau khi chuyển đổi trang pdf, bạn có thể mở svg này với bất kỳ ứng dụng svg nào (với inkscape hoặc cũ cũ sodipodi ví dụ), chọn các phần tử vectơ bạn muốn extrac t và lưu

Tiếp tục:

nếu bạn có một nhiều trang PDF

  1. bạn FIRST chia pdf nhiều trang này vào các trang đơn lẻ của nó (tạo một thư mục cho các trang đơn này)

    pdftk file.pdf burst 
    
  2. sau đó sử dụng pdftocairo để chuyển đổi bất kỳ trang PDF thành svg

    for f in *.pdf; do pdftocairo -svg $f; done 
    
+0

Nó không hoạt động.Sau khi tôi chuyển đổi nó thành svg, Inkscape vẫn không thể chọn đối tượng mà tôi muốn – Yang

+2

bạn cần phải ** ungroup ** các phần tử trước để có thể chọn một mục duy nhất – Dingo

12

Bạn có thể chia nhiều trang file pdf sử dụng pdftk, sau đó sử dụng Inkscape để chuyển đổi pdf sang file svg sử dụng dòng lệnh, ví dụ:

inkscape --without-gui --file=input.pdf --export-plain-svg=output.svg 
+0

Liệu nó có cho phép trích xuất hàng loạt đồ họa véc tơ không? – rivu

+0

Tuyệt vời, nó đã hoạt động! Chia tách xong bằng http://www.splitpdf.com rồi chạy lệnh được đề xuất – razor7