2013-03-04 6 views
6

Können Sie mir sagen, wie kann ich TIFF zu PDF mit Ghostscript oder Postscript konvertieren?Konvertierung von TIFF in PDF mit Ghostscript

Ich habe versucht, diesen Befehl zu verwenden:

gswin32c.exe -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=o.pdf test.tif 

Aber es funktioniert nicht.

Es erzeugt einen Fehler:

GPL Ghostscript 9.06 (2012-08-08) 
Copyright (C) 2012 Artifex Software, Inc. All rights reserved. 
This software comes with NO WARRANTY: see the file PUBLIC for details. 
Error: /undefined in II* 
Operand stack: 

Execution stack: 
    %interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push 1910 1 3 %oparray_pop 1909 1 3 %oparray_pop 1893 1 3 %oparray_pop 1787 1 3 %oparray_pop --nostringval-- %errorexec_pop .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- 
Dictionary stack: 
    --dict:1169/1684(ro)(G)-- --dict:0/20(G)-- --dict:77/200(L)-- 
Current allocation mode is local 
Current file position is 4 
GPL Ghostscript 9.06: Unrecoverable error, exit code 1 

+1

Während seiner schönen gs zu sehen, dies zu tun gemacht werden, entweder tiff2pdf (http://remotesensing.org/libtiff/) oder tifftopnm, pnmops (netpbm.sourceforge.net/) sind wahrscheinlich per - fere, robustere, schnellere Lösungen – agentp

Antwort

7

Ghostscript PDF und Postscript als Eingabe liest, spielt es keine Bildformate lesen, und insbesondere nicht lesen TIFF. Da es sich bei PostScript um eine Programmiersprache handelt, ist es durchaus möglich, ein PostScript-Programm zum Lesen einer TIFF-Datei zu schreiben (die Programme viewgif.ps und viewjpeg.ps, die mit Ghostscript mitgeliefert werden).

Ich habe ein Programm, das dies bis zu einem gewissen Punkt tut und das einige Male in comp.lang.postscript gepostet wurde. Seine Art von großen hier zu teilen (33Kb), aber ich kann Ihnen eine Kopie per E-Mail, wenn Sie interessiert sind.

+2

Einen Link gefunden (https://groups.google.com/d/msg/comp.lang.postscript/xLMTVNzGNXQ/g7gItvNwPEIJ) mit der lustigen Suchzeichenkette "ken read tiff". Sehr gute Arbeit! +1 –

+0

Es gibt einige Fehler in dieser Version des Codes, wenn jemand interessiert ist, bin ich glücklich, die aktuelle Version verfügbar zu machen. Bitte beachten Sie jedoch, dass bei der Implementierung Einschränkungen bestehen (siehe FIXMEs) und ich kann keine Garantie oder Zusage zur Unterstützung des Programms geben. Es ist auch wahrscheinlich besser, eine anständige Bildanwendung zu benutzen, um das zu tun, das war (wie ich in comp.lang.postscript gesagt habe) nur eine intellektuelle Übung. – KenS

+0

Verstanden. Aber es ist immer schön, professionell aussehenden Code zu sehen, gegen den man seine eigenen Tonskulpturen vergleicht. :) –

-2

I umrechnen PDF-Datei Tiff Datei von Ghost mit Java auf Ubuntu.
Schnipsel Code:

String convertCommand = "gs -dNOPAUSE -q -sDEVICE = tiff24nc -sCompression = LZW -dBATCH -sOutputFile =" + output + "" + source;
Laufzeit rt = Runtime.getRuntime();
Prozess pr = rt.exec (convertCommand);
pr.waitFor();

Wenn Sie Kompression wollen dann einfach Befehl ersetzen,
String convertCommand = "gs -dNOPAUSE -q -sDEVICE = tifflzw -dBATCH -sOutputFile =" + output + "" + source;

Bitte installieren Sie Ghostscript, bevor Sie es,
1. sudo apt get-ghost libtiff-tools

+0

Das OP will TIFF-> PDF konvertieren. Ihre Antwort ist vergeblich: Es geht um die Konvertierung von PDF-> TIFF. –

2

Verwenden Sie das gdal_translate Dienstprogramm installieren. Es ist für Geospatial-Raster-Bilder konzipiert, aber es ist egal, ob es nur ein normales Bild ist.

gdal_translate -of pdf \path\to\someimage.tif test.pdf 

Weitere Informationen über die geo-pdf-Treiber und es ist Optionen: http://www.gdal.org/frmt_pdf.html

Die Standard-Komprimierung angewendet ist DEFLATE, was gut ist, weil es lossless ist, aber nicht produzieren sehr kleine Dateien. Normalerweise können PREDICTOR- und TILED-Optionen die Komprimierung erhöhen (aber nicht immer, testen Sie mit Ihren Daten).

gdal_translate -of pdf^
--config COMPRESS=DEFLATE --config PREDICTOR=2 --config TILED=YES^
in.tif deflate.pdf 

Verwenden Sie für kleinste Dateien JPEG. Verwenden Sie JPEG2000, wenn Sie klein und wenig verlustbehaftet sind, aber testen Sie es im Client-PDF-Reader, da die Unterstützung nicht universell ist (neuer Adobe Reader ist in Ordnung).

gdal_translate -of pdf -co compress=jpeg -co jpeg_quality=85^
inimage.tif outdoc.pdf 

gdal_translate -of pdf -co compress=jpeg2000 ... 

-co der Kürze ist, dann ist es mit --config austauschbar. Großschreibung im ersten Beispiel ist nur Konvention, in der Befehlszeile spielt es keine Rolle. ^ ist Windows-Zeichen, um Zeilenvorschub zu unterdrücken, wenn alle in einer Zeile fehlen.

Otaining vorgefertigte Binaries: http://trac.osgeo.org/gdal/wiki/DownloadingGdalBinaries

Herauszufinden, welches Verteilungspaket ein wenig Schmerz zu verwenden, wenn Sie etwas über Geographic Information System nicht kennen. Wenn alles, was Sie wollen, ist das Programm irgendwo stopfen und es laufen, schnappen Sie sich "kompilierte Binärdateien in einzelne Zip" von GIS Internals, 2015-Jan 32bit stabile Version here, entpacken und starten Sie von SDKShell.bat.

+0

Funktioniert, aber GDAL neigt dazu, die Komprimierung zu entfernen. – jbarlow

+0

@jbarlow-Komprimierung muss explizit angegeben werden, ursprünglich aus Gründen der Übersichtlichkeit weggelassen. Ich werde ein weiteres Beispiel hinzufügen –

1

I Konvertieren Sie die Tiff-Datei in PDF-Datei unter Verwendung Imagick

Code:

$document = new Imagick(test.tiff); 

$document->setImageFormat("pdf"); 

$document->writeImages("test.pdf", true); 
3

Die libtiff Software-Paket (verfügbar auf allen gängigen Betriebssystem-Plattformen) Schiffe mit einer Kommandozeilen-Tool namens tiff2pdf.

$ tiff2pdf -h 
    LIBTIFF, Version 4.0.3 
    Copyright (c) 1988-1996 Sam Leffler 
    Copyright (c) 1991-1996 Silicon Graphics, Inc. 

    usage: tiff2pdf [options] input.tiff 
    options: 
    -o: output to file name 
    -j: compress with JPEG 
    -z: compress with Zip/Deflate 
    -q: compression quality 
    -n: no compressed data passthrough 
    -d: do not compress (decompress) 
    -i: invert colors 
    -u: set distance unit, 'i' for inch, 'm' for centimeter 
    -x: set x resolution default in dots per unit 
    -y: set y resolution default in dots per unit 
    -w: width in units 
    -l: length in units 
    -r: 'd' for resolution default, 'o' for resolution override 
    -p: paper size, eg "letter", "legal", "A4" 
    -F: make the tiff fill the PDF page 
    -f: set PDF "Fit Window" user preference 
    -e: date, overrides image or current date/time default, YYYYMMDDHHMMSS 
    -c: sets document creator, overrides image software default 
    -a: sets document author, overrides image artist default 
    -t: sets document title, overrides image document name default 
    -s: sets document subject, overrides image image description default 
    -k: sets document keywords 
    -b: set PDF "Interpolate" user preference 
    -h: usage 

So ein einfacher Befehl Ihre PDF wären zu bekommen:

tiff2pdf -o output.pdf -p A4 -F test.tif 
+0

tiff2pdf (0.40.0) ist ziemlich begrenzt - es behandelt nicht bestimmte exotische TIFFs, insbesondere TIFFs, die JPEG-kodierte Samples enthalten. Das Bild wird unkenntlich gemacht und eine gültige PDF-Datei erstellt. Frühere Versionen sind schlechter. – jbarlow

+0

@jbarlow: Meine Version von libtiff/tiff2pdf ist 4.0.6 (aber Sie haben recht, wenn Sie auf seine Einschränkungen hinweisen - es gibt Einschränkungen in der * ANY * Software, die Sie verwenden, Sie müssen es selbst herausfinden, wenn es Ihre eigene praktische Verwendung betrifft Fall, indem Sie es ausprobieren + testen ...) –

+0

Für Debian/Ubuntu usw. ist das Paket libtiff-tools – scoobydoo