Exportieren Sie mehrere mit Inkscape generierte SVG-Dateien in mehrere PDF-Dateien


12

Ich habe ungefähr 150 SVG-Dateien in Inkscape erstellt. Gibt es ein Dienstprogramm, das all dies in mehrere PDF- oder PNG-Dateien exportieren kann?

Das individuelle Exportieren ist zu zeitaufwändig, daher habe ich mich gefragt, ob ich es in einem Stapel mit einem Dienstprogramm / einer Software tun könnte.

Windows bevorzugt.

Antworten:



8

Für Personen, die über eine Google-Suche hier gelandet sind, weil diese Frage auf Inkscape verweist, aber nicht mit Windows gekennzeichnet ist, finden Sie hier eine vollständige Anleitung für Linux (dies setzt voraus, dass Sie Inkscape auf Ihrem System installiert haben - getestet unter Ubunut 14.04 mit Inkscape 0.91).

Erstellen Sie eine Datei in dem Verzeichnis , in dem Sie Ihre SVG konvertieren s PDF s . (Ich habe geditunten verwendet, aber Sie können es auch durch den Texteditor Ihrer Wahl ersetzen.)

gedit convertSVGtoPDF.sh

Fügen Sie den folgenden Code ein

#!/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

Sie können die gewünschte Ausgabeauflösung anpassen, indem Sie den Wert nach der Option ändern -d.

Speicher die Datei.

Machen Sie dieses Skript nun ausführbar

sudo chmod +x convertSVGtoPDF.sh

Und führen Sie es in Ihrem Verzeichnis der SVG enthält s

./convertSVGtoPDF.sh

Dadurch wird ein neuer Ordner mit dem Namen pdf erstellt, in dem Sie Ihre PDF-Dateien mit eingebetteten Schriftarten finden.

Viel Spaß beim Inkscaping!


Hallo A__, willkommen bei GDSE und vielen Dank für Ihre Antwort. Wenn Sie Fragen haben, wenden Sie sich bitte an die Hilfe oder pingen Sie einen von uns im Grafikdesign-Chat an, sobald Ihr Ruf ausreicht (20). Tragen Sie weiter bei und genießen Sie die Website!
Vincent

Dies wäre auch unter Windows mit einem Batch-Skript von Powershell möglich, obwohl es erwähnenswert ist, diese kleine Eigenheit in Bezug auf die Inkscape-Befehlszeile unter Windows zu erwähnen .
Scribblemacher

Dies funktionierte für mich, außer dass ich entfernen musste $PWD/. Es hat nicht funktioniert, weil in meinem Verzeichnispfad Leerzeichen waren.
Tim Kuipers

Ich habe dies verwendet, um PDF mit pdf2svg in SVG zu konvertieren. Hervorragende Antwort!
MycrofD

Getestet unter Ubuntu 16.04. Großartig!
Geliebt.von.Jesus

3

Sie können dies über die Befehlszeilenschnittstelle ( inkscape --without-gui --export-pdf=myfile.pdf myfile.svg) von Inkscape tun und dann eine Batchdatei, ein Shell-Skript oder ein Build-Tool (wie Make, Rake oder Grunt) verwenden, um dies automatisch für eine ganze Liste von Dateien auszuführen.


2

Nachdem ich mehrere Websites durchsucht habe, habe ich einen einfachen Weg gefunden, nur eine Befehlszeile zu verwenden.

Ich habe noch nie eine Befehlszeile verwendet, aber nach einigen Experimenten habe ich die folgende Lösung gefunden:

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"

Brechen sie ab:

for

for ist ein Befehl zum Ausführen einer Aktion für mehrere Dateien. Die Struktur ist ungefähr so: Für "Dateien in einem bestimmten Zustand" "spezifischen Befehl" ausführen

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

Dies ist die "Bedingung". In meinem Fall suche ich nach allen SVG-Dateien, aber natürlich funktioniert es mit anderen Formaten. Dieser "ausgefallene" Code speichert lediglich den Dateinamen vor der Erweiterung in der Variablen "% i". Dies ist im Befehl nützlich.

do

Das ist es, was Sie in allen Dateien ausführen werden.

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

Dies ist der gleiche Befehl, den Marnen Laibow-Koser oben verwendet hat. Ich bin ein Neuling, ich weiß nicht, wie Sie nur "inkscape" verwenden, also habe ich den ganzen Weg zur .exe geputtet.

Im letzten Teil verwenden wir die Variable, um das Programm anzuweisen, welche Datei ausgewählt werden soll und wie exportiert werden soll.

Wieder exportiere ich SVG nach EMF, aber ändere es einfach nach Ihren Wünschen. Deshalb sind die Variablen so wichtig. Sie können also den gleichen Namen behalten und nur die Erweiterung ändern.

Vergessen Sie nicht, die Anführungszeichen zu verwenden, da Ihre Dateien einen gewissen Platz im Namen haben können.

Natürlich müssen Sie sich auch in dem Ordner befinden, in dem sich Ihre Dateien befinden. Wenn Sie auch ein Neuling sind, tun Sie dies:

C:\

Sie werden in das richtige Laufwerk versetzt.

CD "path"

Sie gelangen zu dem jeweiligen Ordner. Sie können den Windows Explorer verwenden und mit der rechten Maustaste klicken und den Pfad als Text kopieren.

Das ist es. Ich bin ein Neuling, also ist es vielleicht effektiver, es zu tun, aber das wird funktionieren.

Letzter Tipp: Wenn Sie mit vielen Dateien arbeiten, können Sie mit STRG + C die Befehlszeile stoppen, wenn sie nicht ordnungsgemäß funktioniert, und es erneut versuchen.



0

Angenommen, Sie haben aufeinanderfolgende Dateinamen.

Angenommen, Sie verwenden 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

Für mich ist zamzar.com , eine kostenlose Online-Website zur Dateikonvertierung , der beste Weg, dies zu tun . Es ermöglicht dem Benutzer das Konvertieren von Dateien ohne Herunterladen eines Softwaretools und unterstützt über 1.000 verschiedene Konvertierungstypen.


Hallo Benutzer17598, willkommen bei GDSE und vielen Dank für Ihren Beitrag. Könnten Sie uns bitte etwas mehr darüber erzählen, was wir unter Ihrem Link finden können? Wir möchten, dass Ihr Beitrag für zukünftige Besucher nützlich ist, auch wenn Ihr Link unterbrochen wird. Vielen Dank und genießen Sie Ihren Aufenthalt!
Vincent
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.