Xuất nhiều tệp SVG được tạo bằng Inkscape sang nhiều tệp PDF


12

Tôi có khoảng 150 tệp SVG được tạo trong Inkscape. Có tiện ích nào có thể xuất tất cả những thứ này sang nhiều tệp PDF hoặc PNG không?

Xuất riêng lẻ quá tốn thời gian, vì vậy tôi đã tự hỏi liệu tôi có thể làm điều đó trong một đợt với một số tiện ích / phần mềm không.

Windows ưa thích.

Câu trả lời:



8

Đối với những người đã đến đây từ một tìm kiếm google vì câu hỏi này tham khảo Inkscape nhưng không được gắn thẻ với Windows, đây là một cách hoàn chỉnh cho Linux (điều này giả sử bạn đã cài đặt Inkscape trên hệ thống của mình - được thử nghiệm trên Ubunut 14.04 với Inkscape 0.91).

Tạo một tập tin trong thư mục mà bạn muốn chuyển đổi SVG của bạn s sang PDF s . (Tôi đã sử dụng geditbên dưới nhưng bạn cũng có thể thay thế nó là trình soạn thảo văn bản bạn chọn)

gedit convertSVGtoPDF.sh

Dán đoạn mã sau vào bên trong

#!/bin/bash
mkdir "$PWD"/pdf
for file in $PWD/*.svg
    do
        filename=$(basename "$file")
        inkscape "$file" -d 1200 -A "$PWD"/pdf/"${filename%.svg}.pdf"
    done

Bạn có thể điều chỉnh độ phân giải đầu ra mong muốn bằng cách sửa đổi giá trị sau tùy chọn -d.

Lưu các tập tin.

Bây giờ làm cho tập lệnh này có thể thực thi được

sudo chmod +x convertSVGtoPDF.sh

Và thực hiện nó bên trong thư mục của bạn có chứa các SVG s

./convertSVGtoPDF.sh

Điều này sẽ tạo một thư mục mới gọi là pdf nơi bạn có thể tìm thấy các tệp PDF của mình với các phông chữ được nhúng.

Chúc mừng Inkscaping!


Xin chào A__, chào mừng bạn đến với GDSE và cảm ơn câu trả lời của bạn. Nếu bạn có bất kỳ câu hỏi nào, vui lòng xem trung tâm trợ giúp hoặc ping một trong số chúng tôi trong Trò chuyện Thiết kế Đồ họa khi danh tiếng của bạn là đủ (20). Hãy tiếp tục đóng góp và tận hưởng trang web!
Vincent

Điều này cũng có thể xảy ra trên Windows bằng cách sử dụng một tập lệnh powershell, mặc dù điều đáng nói là vấn đề nhỏ này về dòng lệnh Inkscape trong Windows.
Scribpetacher

Điều này làm việc cho tôi ngoại trừ tôi phải loại bỏ $PWD/. Nó không hoạt động vì có không gian trong đường dẫn thư mục của tôi.
Tim Kuipers

Tôi đã sử dụng điều này để chuyển đổi PDF sang SVG bằng pdf2svg. Câu trả lời tuyệt vời!
MycrofD

Đã thử nghiệm trên Ubuntu 16.04. Tuyệt quá!
yêu.by.Jesus

3

Bạn có thể thực hiện việc này bằng giao diện dòng lệnh ( inkscape --without-gui --export-pdf=myfile.pdf myfile.svg) của Inkscape , sau đó sử dụng tệp bó, tập lệnh shell hoặc công cụ xây dựng (như Make, Rake hoặc Grunt) để chạy tự động trên toàn bộ danh sách các tệp.


2

Sau khi tìm kiếm nhiều trang web, tôi đã tìm thấy một cách đơn giản chỉ bằng một dòng lệnh.

Tôi chưa bao giờ sử dụng dòng lệnh trước đây, nhưng sau một số thử nghiệm tôi đã đưa ra giải pháp sau:

for /f "tokens=1* delims=." %i in ('dir /b *.svg') do "C:\Program Files\Inkscape\inkscape.exe" --without-gui --file="%i.svg" --export-emf="%i.emf"

Phá vỡ nó:

for

for là một lệnh để thực hiện một hành động cho nhiều tệp. Cấu trúc của nó giống như: đối với "các tệp trong một điều kiện nhất định" thực hiện "lệnh đặc biệt"

/f "tokens=1* delims=." %i in ('dir /b *.svg')

Đây là "điều kiện". Trong trường hợp của tôi, tôi đang tìm kiếm tất cả các tệp SVG, nhưng tất nhiên nó hoạt động với các định dạng khác. Tất cả mã "ưa thích" này là lưu trữ tên tệp, trước khi gia hạn, trong biến "% i". Điều này sẽ hữu ích trong tình trạng hôn mê.

do

Đó là những gì bạn sẽ thực hiện trong tất cả các tập tin.

"C:\Program Files\Inkscape\inkscape.exe" --without-gui --file="%i.svg" --export-emf="%i.emf"

Đây là lệnh tương tự Marnen Laibow-Koser đã sử dụng ở trên. Tôi là người mới, tôi không biết bạn sử dụng "inkscape" như thế nào, vì vậy tôi đã chuyển tất cả sang .exe.

Phần cuối cùng là nơi chúng ta sử dụng biến để hướng dẫn chương trình chọn tập tin cần chọn và cách xuất.

Một lần nữa, tôi đang xuất SVG sang EMF, nhưng chỉ cần thay đổi nó thành những gì bạn muốn. Đây là lý do tại sao các biến rất quan trọng. Vì vậy, bạn có thể giữ nguyên tên, chỉ cần thay đổi gia hạn.

Đừng quên sử dụng dấu ngoặc kép, vì các tệp của bạn có thể có một khoảng trống trong tên của nó.

Tất nhiên bạn cũng cần phải ở trong thư mục chứa các tập tin của bạn. Nếu bạn cũng là một người mới làm điều này:

C:\

Nó sẽ đưa bạn vào đúng ổ đĩa.

CD "path"

Nó sẽ đưa bạn đến thư mục cụ thể. Bạn có thể sử dụng windows explorer và nhấp bằng nút phải và sao chép đường dẫn dưới dạng văn bản.

Đó là nó. Tôi là người mới, vì vậy có thể sẽ dễ dàng hơn để làm điều đó, nhưng điều này sẽ hiệu quả.

Mẹo cuối cùng: Nếu bạn đang làm việc với nhiều tệp, bạn có thể sử dụng CTRL + C để dừng dòng lệnh nếu nó không hoạt động như bình thường và thử lại.



0

Giả sử bạn có tên tập tin liên tiếp.

Giả sử bạn đang sử dụng macOS.

INDIR='3. SVGs/svgs-front'
OUTDIR='4. Individual PDFs/pdfs-front'
seq 1 100 | while read row; do
  echo Processing $row
  /Applications/Inkscape.app/Contents/MacOS/inkscape -o $OUTDIR/$row.pdf --without-gui $INDIR/$row.svg 
done

-2

Đối với tôi cách tốt nhất để làm điều đó là zamzar.com , một trang web chuyển đổi tệp trực tuyến miễn phí. Nó cho phép người dùng chuyển đổi các tập tin mà không cần tải xuống một công cụ phần mềm và hỗ trợ hơn 1.000 loại chuyển đổi khác nhau.


Xin chào người dùng17598, chào mừng bạn đến với GDSE và cảm ơn bạn đã đóng góp. Bạn có thể vui lòng cho chúng tôi biết thêm một chút về những gì chúng tôi có thể tìm thấy tại liên kết của bạn không? Chúng tôi muốn bài đăng của bạn hữu ích cho khách truy cập trong tương lai, ngay cả trong trường hợp liên kết của bạn bị hỏng. Cảm ơn và tận hưởng kỳ nghỉ của bạn!
Vincent
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.