Utwórz plik PDF z Inkscape SVG bez niszczenia czcionek i efektów


8

Mam plik SVG Inkscape z kilkoma efektami przezroczystości i różnymi warstwami, które chcę wyeksportować do pliku PDF w celu dystrybucji. Kiedy użyję „Zapisz jako ...” lub „Zapisz kopię ...” i wybiorę format PDF, wszystkie efekty są zniekształcone:

Góra: oczekiwany wynik.  Dół: rzeczywista wydajność

Góra: oczekiwany wynik. Dół: rzeczywista wydajność.

Nie mam nic przeciwko spłaszczeniu obrazu, utracie możliwości edycji i tym podobnych, ponieważ nadal mam oryginalny plik .svg, ale i tak nie mogę znaleźć żadnych opcji. Wolałbym unikać eksportowania do formatu zrasteryzowanego, ponieważ chcę go używać do drukowania na dużym papierze.

Szukając rozwiązań tego, znalazłem między innymi ten wątek, pierwotnie z 2006 roku , w którym najnowsza odpowiedź pochodzi z 2012 roku i czyta

6 lat później .. ten sam problem. Inkscape nie może eksportować do krycia na poziomie pdf. Taki smutny.

Czy naprawdę nie ma na to sposobu?


Jakiej wersji Inkscape używasz? Przezroczystość i eksport plików PDF działają dla mnie dobrze (najnowszy pakiet deweloperski inkscape z tego PPA ). Czy jesteś pewien, że przezroczystość jest prawdziwym problemem? Wydaje mi się, że jest więcej rzeczy nie tak z wyjściem PDF. W najgorszym przypadku możesz zawsze wyeksportować plik jako raster o wysokiej rozdzielczości i przekonwertować go na format PDF convert image filename.pdf.
— Glutanimate,

inkscape --versiondaje mi Inkscape 0.48.4po pierwszym wydrukowaniu (inkscape:19694): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",kilka razy ostrzeżenia . Został zainstalowany z domyślnych repozytoriów w Ubuntu 13.04. Jeśli chodzi o pdf, przypuszczam, że mogą być również inne problemy (czcionka wydaje się na przykład wyłączona), ale sądzę, że są one ostatecznie powiązane.
— Tomas Aschan

Myślę, że warto zainstalować najnowszą wersję deweloperską. Jeśli wcześniej nie korzystałeś z PPA, zobacz tutaj . Zawsze możesz cofnąć zmiany za pomocą PPA-Purge . Wyświetlane ostrzeżenia to problemy tematyczne, które nie powinny się pojawiać, ale nie należy się nimi martwić.
— Glutanimate,

Dla jasności, czy zastosowałeś te efekty ręcznie do „Sydamerika”, czy też są one częścią czcionki?
— Glutanimate,

@ Glutanimate: Napisałem tekst czcionką w kolorze białym, a następnie utworzyłem przesunięcie kolorów, tworząc biały i niebieski prostokąt, grupując je, a następnie stosując prostokąty i tekst jako maskę. Poza tym z tym tekstem nie zrobiłem nic „efekt-y”.
— Tomas Aschan

Odpowiedzi:


4

Powinieneś zaktualizować Inkscape do wersji PPA w wersji wcześniejszej niż 0.49, moje testy dały wyniki przy użyciu maskowania, obcinania i różnicy ścieżki odniesienia:

przykładowy obraz przedstawiający maskę klipu i różnicę w inkscape jako pdf

Aby zaktualizować Inkscape, otwórz terminal i wydaj następujące polecenia:

sudo add-apt-repository ppa:inkscape.dev/trunk
sudo apt-get update
sudo apt-get install inkscape-trunk

Powinno to usunąć wersję Inkscape 0.48 i zastąpić ją wersją wcześniejszą niż 0.49 dla pliku pdf.


3

Możesz także spróbować przekonwertować .svgplik inkscape na .pdf użycie rsvg-convertz librsvg2-binpakietu:

rsvg-convert -f pdf -o foo.pdf foo.svg

To zachowało przezroczystość w moim pliku.


3

Okej, oto moje dwa centy na obejście tego.

Próbowałem użyć poprzedniej odpowiedzi rsvg-convert, która działała dobrze dla przezroczystych elementów. Problem jest teraz, mam osadzony obraz w mojej SVG, który faktycznie został zrasteryzowany przy bardzo niskiej rozdzielczości. Określenie wyższej rozdzielczości X / Y dla rsvg-convertnie zmieniło tego.

Zrobiłem więc następujące czynności, które rozwiązały problem:

  1. „Rasteryzacja” obrazu do pliku PDF: rsvg-convert -f pdf -o rasterized.pdf orig.svg
  2. Otwórz oryginalny obraz w Inkscape: inkscape orig.svg
  3. Otwórz zrasteryzowany obraz (teraz zawierający przezroczyste kształty, ale także zrasteryzowany osadzony obraz) w Inkscape: inkscape rasterized.pdf
  4. Rozgrupuj wszystkie elementy w tym ostatnim, aż dojdziesz do niewłaściwie zrasteryzowanego obrazu
  5. Skopiuj osadzony obraz z 2. do jednego z 4. , zastępując niewłaściwie zrasteryzowany
  6. Zapisz go jako plik PDF w Inkscape normalnie.

Wynik: przezroczyste kształty i obrazy w wysokiej rozdzielczości .


3

Jednym z rozwiązań, które znalazłem, aby rozwiązać ten oczywisty błąd, jest: W Inkscape zapisz jako: EPS, a następnie epstopdf plik. Wynik wygląda idealnie

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.