Czy można przekonwertować plik PostScript na SVG?
Na podstawie odpowiedzi w Tex.SE próbowałem użyć inkscape:
inkscape test.ps --export-inkscape-svg=test.svg
To rzeczywiście stworzyło plik SVG, ale zmieniło czcionkę i usunęło odstępy między literami. Jako minimalny działający przykład utworzyłem plik PostScript, który zawiera tylko tekst (chociaż moje oryginalne pliki zawierają zarówno tekst, jak i grafikę). Poniższy obraz przedstawia plik PostScript (u góry) i wynikowy plik SVG (u dołu):
Jaki jest prawidłowy sposób konwersji PS na SVG?
fonts
inkscape
svg
image-format
Erel Segal-Halevi
źródło
źródło
Odpowiedzi:
Przepraszamy - to nie odpowiada na pytanie: „Jaki jest prawidłowy sposób konwersji PS na SVG?”
Nie ma „właściwej drogi”. Istnieją „możliwe sposoby”. Świat jest zbyt skomplikowany.
jak wspomniałem w komentarzu, sam spróbuję użyć Inkscape. Wystąpił problem w programie - pozwól, że cię zapytam: czy Twój plik PS renderuje się poprawnie w innych miejscach, poza tym, gdzie go tworzysz? Czy możesz dołączyć minimalistyczny plik do pytania?
Teraz inny sposób wypróbowania: ghostscript to potężny postscript, który ma tryb „ps-to-ps”, który upraszcza pliki Postscritp, aby uczynić je bardziej „prostymi” dla innych programów. Jeśli jeszcze go nie masz, sugeruję, abyś go otrzymał.
Może wysyłać SVG - ale będziesz wiedział, czy Twój plik renderuje się poprawnie w nim (z odstępami i czcionką), a po drugie, możesz użyć trybu „ps2ps” Ghostscript do utworzenia dodatkowego pliku postscriptowego, który możesz spróbować zaimportować do Inkscape. To ma szansę odnieść sukces, ponieważ powinno obsługiwać rzadziej używane lub niestandardowe opcje tekstowe, których Inkscape nie rozumie.
Sam Ghostscript może być dość „szorstki” w użyciu - jest narzędziem dla programistów, a nie projektantem (jest nawet używany bezpośrednio jako sterownik drukarki w niektórych systemach operacyjnych), więc może być konieczne trochę zagłębić się w jego dokumentację (lub zapytaj ponownie), aby działała część postscript-to-postscript. Pomocny może być także program towarzyszący „gsview”, który daje Postscriptowi okno.
źródło
Polecam otwarcie pliku PostScript w programie Adobe Illustrator, który lapuje pliki EPS, takie jak mleko matki i ma funkcję eksportu SVG.
1. Zaimportuj elementy lub otwórz je bezpośrednio (EPS)
2. Pamiętaj, aby wybrać opcję „pokaż przezroczystość siatki” w obszarze WIDOK, jeśli chcesz przezroczyste tło.
3. Zapisz jako - wybierz SVG
Zakładam, że używasz SVG dla Internetu - zachowaj ustawienia gamy kolorów / kolorów w RGB i ustaw rozdzielczość dokumentu na ekran zamiast rozdzielczości drukowania w Ustawieniach rastrowych (w efektach)
Fakt, że te ustawienia znajdują się w prawie każdym rogu aplikacji, jest częścią tego, co sprawia, że Adobe jest tak absurdalne.
źródło
Za pomocą pstoedit :
W tym przykładzie
barcode
wyprowadza PostScript. Następniepstoedit
bierze go i quetly (-q
) konwertuje na kod fig, który jest następnie konwertowany na SVG przez fig2dev.Podczas korzystania z Inkscape musisz przesyłać pliki, ponieważ Inkscape korzysta z wejściowej nazwy pliku w wykrywaniu formatu:
źródło
man fig2dev
powie ci wszystko o fig2dev i jego opcjach. W moim przypadku nie korzystałem z narzędzia do kodów kreskowych, ale użyłem już utworzonego pliku ps.pstoedit -q -f fig sqrsDup.ps | fig2dev -L svg > test.svg
Wykonałem konwersję i dane wyjściowe za pomocą tego polecenia: sqrsDup.ps jest plikiem, który już utworzyłem, a test.svg jest plikiem wyjściowym pliku.