2009-03-25 6 views
9

Próbuję przekonwertować plik PDF na pojedynczy obraz przy użyciu GhostScript.Konwersja wielostronicowego pliku PDF na pojedynczy obraz

Przekształcana jest tylko pierwsza strona, a moim zamiarem jest generowanie horrendalnie wysokiego obrazu w formacie PNG/JPG ze wszystkimi połączonymi stronami.

Są to parametry Jestem obecnie przechodzących do GhostScript DLL (za pośrednictwem aplikacji .NET):

pdf2img \ 
    -dNOPAUSE \ 
    -dBATCH \ 
    -dSAFER \ 
    -sDEVICE=png256 \ 
    -dGraphicsAlphaBits=4 \ 
    -dTextAlphaBits=4 \ 
    -dDOINTERPOLATE \ 
    -dAlignToPixels=1 \ 
    -r300x300 \ 
    -sOutputFile=GLOSS.png \ 
    GLOSS.pdf 

Czy to możliwe, aby złączyć wszystkie strony razem poprzez GhostScriptu? Czy powinienem uciec się do zewnętrznej metody?

Odpowiedz

2

Czy spojrzałeś na ImageMagick? Ta bezpłatna biblioteka może mieć opcję utworzenia pojedynczego obrazu z pliku PDF (w rzeczywistości korzysta z Ghostscript, ale dodaje wiele możliwości edytowania graficznego, takich jak scalanie obrazów).

+1

Prawdopodobnie polecenie montażu: http://www.imagemagick.org/script/montage.php –

+0

ImageMagick lub GraphicsMagick poradzi sobie z łączeniem części, ale w zależności od potrzeb możesz użyć ghostscript do konwersji. Chociaż "magie mogą zrobić to wszystko w jednym kroku, istnieje dość duża szybkość i kara pamięciowa, zobacz http://right-sock.net/linux/better-convert-pdf-to-jpg-using-ghost-script/ –

+0

bardziej szczegółowo zobacz http://stackoverflow.com/a/24306470/505893 – bluish

0

Najprawdopodobniej będziesz musiał renderować pojedyncze strony za pomocą GS, a następnie połączyć je z jednym PNG/JPG przy użyciu jakiegoś języka skryptowego.

+1

ma potrzeby języka skryptowego. Polecenia 'gm montage' firmy GraphicMagick i' montage' ImageMagick mogą obsłużyć łączenie różnych obrazów w porządku. Dostępnych jest wiele opcji (obramowania, marginesy, kolory tła, układy linii, układy w kolumnach, układy w siatkach, ...). –

0

Po konwersji wielostronicowy plik PDF do obrazów (PNG, JPEG, TIFF itp.) za pomocą GS, musisz wykonać jeszcze jeden krok, aby połączyć obrazy wyjściowe w wielostronicowy obraz TIFF.

Proszę spojrzeć na kod źródłowy VietOCR.NET, który ma tę funkcjonalność, ale robi to w dwóch osobnych krokach. Możesz go zmodyfikować, aby wywoływać obie funkcje z powrotem do tyłu.