SVG do drukowania grafiki

17

Jak dobrze skalowalna grafika wektorowa działała w przypadku drukowania?

Potrzebuję programowo wygenerować grafikę, aby włączyć ją do drukowanych dokumentów. Wygląda na to, że istnieją tylko dwa poważne argumenty za docelowym formatem pliku, EPS i SVG.

Jako programista SVG wygląda na łatwiejszy w obsłudze, ale wydaje się, że nie został zaakceptowany przez przemysł graficzny. Były projekty oparte na grafice drukowanej na SVG (np. Adobe PDFXML), ale żaden nie wydaje się teraz aktywny. Wydaje się również, że narzędzia Adobe zakończyły krótką wersję SVG.

Jeśli wybiorę SVG jako format dostarczalny, jakie mogą być problemy w porównaniu do alternatywnych rozwiązań? Słyszałem skargi na obsługę tekstu przez SVG, ale nie znalazłem żadnej szczegółowej dyskusji. Inną rzeczą, o której podejrzewam, że może być problem, jest to, jak czysto SVG konwertuje na PDF.

użytkownik 287424
źródło
Powinny być biblioteki, które można przekonwertować na format PDF.
DA01

Odpowiedzi:

9

W rzeczywistości lepiej byłoby wydrukować EPS lub PDF. SVG jest odpowiedni dla sieci (do czego został zaprojektowany), ale często występują problemy z RIP podczas drukowania. Większość projektantów, którzy otrzymują pliki SVG, otworzy je w aplikacji wektorowej i ponownie zapisze jako pliki rodzime, eps lub PDF. NIGDY nie wysyłałbym pliku SVG do dostawcy druku.

Scott
źródło
Ale plik PDF powinien po prostu osadzić SVG na „wirtualnym papierze”, jak to rozwiązuje problemy z RIP?
jiggunjer
1
@jiggunjer PDF używa zupełnie innej struktury kodu niż SVG. PDF jest oparty na PostScript, SVG nie. Zapisywanie jako PDF nie „osadza pliku SVG jako wirtualnego papieru”. To inna baza kodu.
Scott
Rozumiem, myślałem, że natywny plik svg został zachowany podobnie do osadzonego obrazu rastrowego. Ale teraz rozumiem, że istnieje konwersja do ścieżek pdf. Czy jest to bezstratne, czy mogą istnieć różnice w zależności od implementacji konwertera pdf? Np. Czy Inkscape wygeneruje ten sam plik pdf dla danego pliku svg co ghostscript?
jiggunjer
Nie mogę komentować Inkscape. Mogę powiedzieć, że większość procesorów obrazu rastrowego (RIP) używanych do drukowania komercyjnego prawdopodobnie zadławi się na obrazie SVG. Nie zrozumieją bazy kodu. PDF jest zasadniczo oprogramowaniem RIP. Ogólnie rzecz biorąc, kiedy zapisujesz coś jako plik PDF, kod jest przepisywany / ustrukturyzowany z uwzględnieniem danych wyjściowych w taki sam sposób, jak sprzętowy procesor RIP przetwarzałby obrazy. Zasadniczo aplikacja obsługująca zarówno pliki SVG, jak i PDF muszą mieć wewnętrzne parametry konwersji, aby skonfigurować dane wyjściowe na podstawie formatu, a SVG jest formatem całkowicie nieodpowiednim do drukowania komercyjnego.
Scott,
Dzięki. To dało mi do myślenia, więc napisali powiązane pytanie: graphicdesign.stackexchange.com/q/97154/102588
jiggunjer
3

Użyłem abcPDF do programowej konwersji wygenerowanego SVG na PDF do celów drukowania. Minęło około 4 lat, ale nie wyobrażam sobie, by wsparcie w bibliotece zmniejszyło się.

Jacob G.
źródło
1

Inkscape może konwertować pliki SVG do formatu PDF i EPS za pomocą wiersza poleceń. Google „wiersz polecenia svg to eps”. Byłoby to dobre rozwiązanie dla grafiki przeznaczonej zarówno do dostarczania przez Internet, jak i do drukowania.

Uważaj tylko, że chociaż powinno to działać w systemie Linux, Inkscape za pośrednictwem wiersza poleceń na komputerze Mac jest nieco uszkodzony (może być konieczne samodzielne skompilowanie Inkscape lub zmiana połączenia plików w aplikacji .app)

Mentalista
źródło
-1

Jeśli musisz przekonwertować obraz na mapę bitową, upewnij się, że wybierasz odpowiedni rozmiar przed konwersją obrazu, ponieważ zmiana rozmiaru po konwersji obrazu spowoduje utratę jakości.

Kap
źródło
3
Czy możesz wyjaśnić, dlaczego Twoim zdaniem zmiana bitmapy może być przydatna? Wolałbym format wektorowy.
Mensch
-2

Cały przemysł (wycinarki laserowe, frezarki itp.) Polega na „wykonywaniu pracy fizycznej” za pomocą DXF, Drawing Exchange Formatktóry można przekształcić w JSON AST (wiele bibliotek do tego celu), które można dokładnie przekonwertować na SVG; więc nie ma żadnego powodu, który mógłby uniemożliwić wykorzystanie SVG do drukowania.

Jednym z kluczowych atrybutów SVG do tego celu jest viewBox=wskazanie rzeczywistych wymiarów rysunku. viewBox=powinien pasować do width=i height=, albo otrzymasz przycięty i skalowany wydruk. Powinieneś podać viewBox=atrybut przy eksporcie i wymagać go przy imporcie.

Nadal możesz napotykać problemy z SVG, ale to nie jest wina SVG: Istnieje wiele błędnych sterowników / aplikacji.

W mojej firmie używamy SVG jako domyślnego formatu wymiany rysunków.

ceremcem
źródło
1
Użyj kroku. Chociaż prawdą jest, że moje aplikacje potrafią czytać (niektóre dialekty) DXF, nie jest prawdą, że moja wycinarka laserowa, frezarka cnc lub tokarka cnc używa DXF. W rzeczywistości tak nie jest, laser wykorzystuje procedury drukarki oparte na PostScript ze względu na potrzebę rasteryzacji, która jest bliższa pdf niż SVG. Maszyny cnc używają kodu G. W obu przypadkach DXF nie będzie działał na potrzeby drukowania z powodu braku odpowiedniego rodzaju prymitywów i CMS. Ale tak, możesz przekonwertować SVG na druk, ale sam SVG nie ma funkcji potrzebnych do drukowania komercyjnego. Można je łatwo wstrzyknąć, ale nie zaimplementować, ponieważ wszystkie pliki SVG są jak uszkodzone pliki pdf.
joojaa
Dziękujemy za otwarcie drzwi do głębszej dyskusji. Nie wspominałem o środkowych krokach w celu zmniejszenia złożoności odpowiedzi: kod G lub Postscript (lub dowolny format końcowy) jest produkowany przez firmę, która trzyma maszynę (wycinarka laserowa, drukarka itp.), Prawdopodobnie przy użyciu oprogramowania zastrzeżonego lub przez dowolny konwerter, który urządzenie obsługuje jego format. Jeśli format (DXF, w tym przypadku SVG) jest używany jako środkowy krok, oznacza to, że jest to odpowiedni format do pracy fizycznej. Czy mógłbyś wspomnieć o tym, jakich prymitywów brakuje w SVG? (DXF nie ma stałych kształtów, AFAIK)
ceremonia