Jak wyeksportować plik Inkscape SVG do pliku PDF i zachować integralność obrazu?

41

Problem z przekonaniem Inkscape do czystego eksportu plików PDF i wydaje się, że nie ma tam wielu pomocnych zasobów. W szczególności folie są trudne - czasami przezroczystość zniknie, a czasem zostanie przekształcony w solidny blok.

Zablokowałem ustawienia zapisywania jako PDF w Inkscape i bez powodzenia wydrukowałem do pliku PDF przy użyciu CutePDF. Czy istnieje metoda eksportowania lub tworzenia pliku, aby uzyskać przewidywalne wyniki?

Zelbinian
źródło
Miejmy nadzieję, że @ DA01 wkomponuje się tutaj. Jest głęboko zaznajomiony z Inkscape.
Alan Gilbertson
Nie powiedziałbym głęboko ... ale jestem jego fanem. Nie znam odpowiedzi, ale domyślam się, że SVG i PDF to po prostu różne formaty plików i obsługują różne części każdej specyfikacji. Z SVG można wiele zrobić w zakresie przezroczystości, rozmycia, mieszania itp. Zakładam, że PDF po prostu jeszcze tego nie obsługuje. Być może będziesz musiał najpierw uruchomić SVG za pomocą Adobe Illustratora w nadziei, że AI przekonwertuje go na format, z którego PDF będzie zadowolony.
DA01
Inkscape przeszedł kilka aktualizacji, odkąd zadano to pytanie. Byłbym ciekawy, gdzie jest teraz ta sytuacja, i czy istnieją pewne części konwersji SVG do PDF, które nadal stanowią problem.
Scribblemacher

Odpowiedzi:

21

Inkscape (v.0.91) obsługuje opcje wiersza poleceń i tak wolę to zrobić:

inkscape --file=mySVGinputFile.svg --export-area-drawing --without-gui --export-pdf=output.pdf

Jest to właściwie polecenie, którego LyX używa do przygotowania obrazów SVG do użycia w LaTeX. Użyłem PlantUML do wygenerowania SVG, który następnie przechodzi do formatu PDF.

Oto zrzut ekranu SVG w inkscape, który ma czystą reprezentację wektorową (w tym czcionki).

SVG w inkscape

Oto zrzut ekranu powiększonego pliku PDF z zaznaczonym tekstem „oo” z pętli słów, pokazującym, że jest to nadal tekst w pliku PDF:

PDF w programie Acrobat

Fuhrmanator
źródło
1
To działało ładnie. Do Twojej wiadomości, narzędzie wiersza polecenia systemu Mac OS znajduje się w: /Applications/Inkscape.app/Contents/Resources/bin/inkscape- następnie włóż plik --file=/My/File.svgitp.
Demis,
Przetestowałem go z niestandardową czcionką base64, ale Inkscape (0.92) najwyraźniej go nie obsługuje.
xamid
8

W rzeczywistości jest to pytanie i odpowiedź tutaj dla użytkowników Linuksa.

Musisz zainstalować librsvg2-bin. Dodam tylko, że musisz dopasować stronę do pliku SVG, w przeciwnym razie zostanie obcięty. W programie Inkscape: Plik -> Właściwości dokumentu -> Wybierz obiekty svg -> dopasuj stronę do wyboru.

Następnie po prostu uruchom:

rsvg-convert -f pdf in.svg > out.pdf
Emilien
źródło
To zdecydowanie najlepsza odpowiedź: tylko jedna działała!
Werner
To narzędzie nie zachowuje nawet właściwego rozmiaru czcionki, nie mówiąc już o właściwej powierzchni czcionki.
xamid
6

Z menu głównego wybierz:

Plik → Drukuj ... → Drukuj do pliku

Tutaj możesz wybrać zapisanie pliku jako PDF, PostScript lub SVG.

Oliver Moran
źródło
5

Czy próbujesz wyeksportować do formatu .PDF, aby zachować możliwości edycji? W przeciwnym razie, jeśli próbujesz udostępnić obraz komuś z Inkscape, zapisz go jako .JPG lub .PNG (jeśli potrzebne jest półprzezroczyste tło).

kamalo
źródło
1
W przeszłości próba zapisania w formacie PNG / jpeg znacznie zmniejszyła rozmiar fizyczny i rozdzielczość obrazu. Może po prostu robię to źle?
Zelbinian
Czy masz najnowszą wersję Inkscape pobraną?
kamalo
@Zelbinian, plik SVG nie ma nieodłącznego rozmiaru ani rozdzielczości. Tylko wtedy, gdy chcesz eksportować jako plik PNG, Inkscape poprosi o rozmiar. Określ, aby był tak duży, jak chcesz.
Abhranil Das
7
Zmiana obrazu wektorowego na obraz rastrowy z pewnością nie zachowa (innych aspektów) integralności obrazu.
Sparhawk
3

W systemie operacyjnym Linux eksportuję do formatu PNG, a następnie używam narzędzia do konwersji, aby przekonwertować go na format PDF.

użytkownik14047
źródło
2
+1 To nie jest zła odpowiedź ... i jest to metoda, której użyłem, aby obejść wady Inkscape w maskowaniu kształtów (które „eksplodują” przy bezpośredniej konwersji do formatu PDF). W przypadku złożonych plików SVG, których Inkscape nie może w pełni przekształcić w pliki PDF, rasteryzacja jest czasem realnym obejściem.
DA01
3

Uwielbiam używać programu Inkscape do rysowania - jest on znacznie bardziej intuicyjny niż Illustrator i zapewnia bardzo profesjonalne wyniki.

Użyłem Inkscape do przygotowania rysunków do publikacji i miałem znaczne trudności z eksportem rysunków z ustawieniami jakości publikacji. Zapisywanie plików jako .eps nie osadzało poprawnie moich czcionek, a .pdf nie pozwalał mi na zapisywanie z jakością druku. (Używam Windows XP i Inkscape w wersji 0.48.4.)

Aby obejść ten problem, postąpiłem zgodnie ze wskazówkami dotyczącymi tworzenia danych dotyczących jakości prasy, które można znaleźć pod tym linkiem .

Te instrukcje krok po kroku pokazują, jak drukować do pliku PDF z osadzonym tekstem i ustawieniami jakości druku.

Miałem trudności z drukowaniem do pdf dla niektórych moich większych liczb (tylko losowe fragmenty mojej postaci trafiłyby do pdf, co było bardzo frustrujące!). Aby obejść ten problem, zgrupowałem wszystkie aspekty mojej figury Inkscape i zmniejszyłem ogólny rozmiar. Z jakiegoś powodu działało to naprawdę dobrze i uzyskałem ładnie wyglądające pliki pdf dla tych liczb.

Inną opcją jest przecięcie rysunku na pół (jeśli to możliwe) i wydrukowanie dwóch plików pdf. Można je łączyć w programie Adobe Acrobat Professional (starsze wersje są dostępne do pobrania pod tym linkiem .

Kliknij „Utwórz PDF”, wybierz „Z wielu plików” i wybierz pliki PDF, które chcesz połączyć. Będą one wyświetlane jako pojedyncze strony w dokumencie pdf. Aby połączyć je na jednej stronie, przejdź do opcji File --> Print Pod Page Handlingzmianą Page Scalingdo Multiple pages per sheet.

Następnie możesz dostosować liczbę stron na arkusz. Kliknij OK, a 2 pliki PDF zostaną teraz połączone w jedną stronę.

Mam nadzieję, że te informacje są pomocne dla tych z was, którzy mają ścisłe wymagania dotyczące jakości publikacji.

Gabrielle Todd
źródło
1

Używam Inkscape i rutynowo przechowuję pliki SVG w formacie PDF. Trzymaj się z dala od filtrów i nieprzejrzystych ustawień, ponieważ pliki PDF (lub powinienem powiedzieć, że eksportowanie InkScapes do pliku PDF) nie obsługuje tej funkcji bardzo dobrze.

Zamiast tego używam skal kolorów zamiast nieprzezroczystych poziomów, aby zmiękczyć kolory bezpośrednio na palecie i całkowicie uniknąć filtrów. Wiem, że jest to uciążliwe i ogranicza twoje możliwości tego, co możesz zrobić. Ale eksport wygląda dobrze, jeśli przestrzegam tych zasad.

użytkownik5907761
źródło
0

Minęły lata, odkąd miałem jakiekolwiek problemy z przezroczystością plików PDF generowanych przez Inkscape, a jeśli tak, okazały się one problemem przeglądarki PDF (lub w jednym przypadku: ezoterycznej drukarki), a nie Inkscape. Dlatego powiedziałbym, że użycie nowej wersji Inkscape powinno rozwiązać takie problemy.

Biorąc to pod uwagę, od wersji Inkscape 0.47 (od 2009 r.) Dostępna jest opcja Efekty filtrów rastrowych dla eksportu PDF, które powinny zrasteryzować wszystkie filtry (na przykład rozmycie), które nie są obsługiwane przez format PDF i zachować całą wektoryzację.

Wrzlprmft
źródło
0

To bardzo proste. Zapisz plik / wybór jako pdf.

Zaheer Ahmed
źródło
1
Która wersja Czy to się zmieniło Zobacz odpowiedź użytkownika 14047 i komentarz DA01 ...
Mensch
Ta odpowiedź nie dotyczy pytania. Problem użytkownika nie polega na tym, że nie wiedzą, jak wyeksportować plik PDF z Inkscape, ale na tym, że wyniki nie są zadowalające.
Scribblemacher
0
  1. Wydrukować
  2. Wybierz Bitmapę na karcie Rendering i wybierz żądaną rozdzielczość.
  3. Wybierz swoją drukarkę PDF na karcie Ogólne .
  4. Wydrukować.

karta renderowania

bitmapa dpi i wydruk

interndog
źródło
0

Jeśli masz zainstalowany program FoxIt Reader, możesz po prostu

  1. Plik -> Drukuj ( Ctrl+ P)
  2. Wybierz „FoxIt Reader PDF Printer”, aby wyeksportować plik jako plik PDF.
fzappaandthem
źródło
0

Jeśli konwertujesz go do celów udostępniania, wyeksportuj go jako png. W zakładce plików jest osobna opcja eksportu w formacie png. Uratuje cię od wielu kłopotów.

użytkownik131581
źródło
3
Czy potrafisz wyjaśnić, jakie kłopoty zaoszczędzi i dlaczego?
WELZ
0

Jeśli ustawiłeś już rozmiar strony we właściwościach dokumentu (upewnij się, że elementy pasują do strony)> przejdź do podglądu wydruku. Tutaj możesz zapisać go jako pdf, a także wydrukować w pożądanym rozmiarze bez utraty rozdzielczości.

Safiyyah
źródło
0

Miałem też ten problem i żadna z istniejących odpowiedzi nie działała dla mnie. Znalazłem swoje rozwiązanie tutaj: https://bugs.launchpad.net/inkscape/+bug/1004887

Dodaj filtr do każdego obrazu, a następnie zapisz jako pdf. Pamiętaj o zaznaczeniu „efektów rasteryzacji filtrów”. Miałem do czynienia z obrazami w skali szarości, więc zastosowałem filtr w skali szarości, aby obrazy nie zostały wyraźnie zmienione.

użytkownik30521
źródło
0

miałem problem z incskape 0.92.4 podczas zapisywania jako pdf „Nie można zapisać pliku * .pdf„ po prostu zostaw pole ”limit eksportu z identyfikatorem„ pusty ”(facepalm) wprowadź opis linku tutaj

ihor
źródło
1
Twój link do obrazu jest zepsuty, a twoja odpowiedź nie jest bardzo jasna ... poza tym jest to bardzo stare pytanie, czy na pewno dodajesz przydatne informacje? Sprawdź, jak odpowiedzieć, a następnie edytuj swoją odpowiedź, aby dodać więcej szczegółów / naprawić uszkodzony obraz.
Luciano
-1

Spróbuj użyć narzędzia Wycinanie dostarczonego z systemem Windows 7. Jeśli nie jest jeszcze przypięty do paska zadań, znajdziesz go w obszarze Wszystkie programy, Akcesoria. Wygląda jak nożyczki. To zapisze go jako JPEG, a następnie otwórz JPEG i wydrukuj z uroczym plikiem PDF.

kohnesorge
źródło
Prawdopodobnie nie jest to rozwiązanie, którego szuka Zelbinian; eksport do pliku PDF sugerowałby, że obiekty wektorowe są utrzymywane. Jak wskazała inna odpowiedź, możesz mimo wszystko wyeksportować plik jako plik JPG, wykonanie zrzutu ekranu byłoby gorszą metodą w tym przypadku
JohnB
-1

Zapisałem dokument (w tym warstwę gradientu na obrazie i obraz z przezroczystością) jako skompresowany plik PDF w JessyInk. Ustaw DPI i Zapisz. W pliku Zip znajdziesz plik PDF, który powinien.

Mollo
źródło
-1

Ten problem denerwuje mnie od dawna. Od 2019 roku najlepszym podejściem, jakie mogłem znaleźć, jest postawienie pośredniego kroku na postscripcie. Przy użyciu Makeskładni:

rsvg-convert -f ps $^ | gs -sDEVICE=pdfwrite -sOutputFile=$@ -f -

gdzie $^jest plikiem źródłowym i $@docelowym.

Domyślnie wyświetla PDF 1.7 z ghostscript 9.27. Rozwiązuje wszystkie problemy, które znajduję w pdfsilniku oszczędzania inkscape (wersja 1.0 alfa) .

heroxbd
źródło