Der beste Weg, PDF-Dateien in TIFF-Dateien zu konvertieren [geschlossen]
Frage
Ich habe etwa 1000 pdf filesand Ich muss sie 300 dpi TIFF-Dateien konvertieren. Was ist der beste Weg, dies zu tun? Wenn es ein SDK oder etwas oder ein Tool, das Skript werden kann, das wäre ideal.
Lösung
Verwenden Sie ImageMagick, oder besser noch, Ghostscript.
http://www.ibm.com/developerworks/library/l -graf2 / # N101C2 ein Beispiel für ImageMagick hat:
convert foo.pdf pages-%03d.tiff
http://www.asmail.be/msg0055376363.html hat ein Beispiel für ghost :
gs -q -dNOPAUSE -sDEVICE=tiffg4 -sOutputFile=a.tif foo.pdf -c quit
Ich würde ghost installieren und die man-Seite für gs zu sehen, was ist genau Optionen benötigt und Experiment.
Andere Tipps
Mit Ghostscript von der Kommandozeile, ich habe folgend in der Vergangenheit verwendet:
unter Windows:
gswin32c -dNOPAUSE -q -g300x300 -sDEVICE=tiffg4 -dBATCH -sOutputFile=output_file_name.tif input_file_name.pdf
auf * nichts:
gs -dNOPAUSE -q -g300x300 -sDEVICE=tiffg4 -dBATCH -sOutputFile=output_file_name.tif input_file_name.pdf
Für eine große Anzahl von Dateien, ein einfacher Batch- / Shell-Skript verwendet werden könnte, eine beliebige Anzahl von Dateien zu konvertieren ...
schrieb ich einen kleinen Powershell-Skript zu einer Verzeichnisstruktur durchlaufen und konvertieren alle PDF-Dateien in TIFF-Dateien mit ghost. Hier ist mein Skript:
$tool = 'C:\Program Files\gs\gs8.63\bin\gswin32c.exe'
$pdfs = get-childitem . -recurse | where {$_.Extension -match "pdf"}
foreach($pdf in $pdfs)
{
$tiff = $pdf.FullName.split('.')[0] + '.tiff'
if(test-path $tiff)
{
"tiff file already exists " + $tiff
}
else
{
'Processing ' + $pdf.Name
$param = "-sOutputFile=$tiff"
& $tool -q -dNOPAUSE -sDEVICE=tiffg4 $param -r300 $pdf.FullName -c quit
}
}
1) Installieren Sie Ghostscript
2) Installieren Sie ImageMagick
3) Erstellen Sie auf "Convert-to-TIFF.bat" (Windows XP, Vista, 7) und verwenden Sie die folgende Zeile:
for %%f in (%*) DO "C:\Program Files\ImageMagick-6.6.4-Q16\convert.exe" -density 300 -compress lzw %%f %%f.tiff
Ziehen einer beliebigen Anzahl von Einzelseiten-PDF-Dateien auf diese Datei wird sie in komprimierte TIFFs konvertieren, bei 300 DPI.
mit Python Dies ist, was ich am Ende mit
import os
os.popen(' '.join([
self._ghostscriptPath + 'gswin32c.exe',
'-q',
'-dNOPAUSE',
'-dBATCH',
'-r300',
'-sDEVICE=tiff12nc',
'-sPAPERSIZE=a4',
'-sOutputFile=%s %s' % (tifDest, pdfSource),
]))
Die PDF-Fokus .Net kann es in einer solchen Art und Weise tun:
1. PDF to TIFF
SautinSoft.PdfFocus f = new SautinSoft.PdfFocus();
string pdfPath = @"c:\My.pdf";
string imageFolder = @"c:\images\";
f.OpenPdf(pdfPath);
if (f.PageCount > 0)
{
//Save all PDF pages to image folder as tiff images, 200 dpi
int result = f.ToImage(imageFolder, "page",System.Drawing.Imaging.ImageFormat.Tiff, 200);
}
2. PDF Multipage-TIFF
//Convert PDF file to Multipage TIFF file
SautinSoft.PdfFocus f = new SautinSoft.PdfFocus();
string pdfPath = @"c:\Document.pdf";
string tiffPath = @"c:\Result.tiff";
f.OpenPdf(pdfPath);
if (f.PageCount > 0)
{
f.ToMultipageTiff(tiffPath, 120) == 0)
{
System.Diagnostics.Process.Start(tiffPath);
}
}
ABCpdf kann dies ebenfalls tun - schauen Sie sich http://www.websupergoo.com/helppdf6net/default.html
Erforderlich ghost & tiffcp Getestet in Ubuntu
import os
def pdf2tiff(source, destination):
idx = destination.rindex('.')
destination = destination[:idx]
args = [
'-q', '-dNOPAUSE', '-dBATCH',
'-sDEVICE=tiffg4',
'-r600', '-sPAPERSIZE=a4',
'-sOutputFile=' + destination + '__%03d.tiff'
]
gs_cmd = 'gs ' + ' '.join(args) +' '+ source
os.system(gs_cmd)
args = [destination + '__*.tiff', destination + '.tiff' ]
tiffcp_cmd = 'tiffcp ' + ' '.join(args)
os.system(tiffcp_cmd)
args = [destination + '__*.tiff']
rm_cmd = 'rm ' + ' '.join(args)
os.system(rm_cmd)
pdf2tiff('abc.pdf', 'abc.tiff')
Wie wäre es pdf2tiff? http://python.net/~gherman/pdf2tiff.html
http://python.net/~gherman/projects/pdf2tiff/
Sie können auch pdf2ps, ps2image verwenden und dann konvertieren aus dem resultierenden Bild zu tiff mit anderen Utilities (I 'paul' [paul. - Noch einem anderen Bildbetrachter (zeigt PNG, TIFF, GIF, JPG, etc] erinnern)
Disclaimer: Arbeit für das Produkt Ich empfehle
Atalasoft hat eine .NET-Bibliothek, die zu konvertieren TIFF - wir sind ein Partner von FOXIT, so dass das PDF-Rendering sehr gut
.Vielleicht versuchen auch das? PDF Fokus
Die Net-Bibliothek ermöglicht es Ihnen, das Problem zu lösen:)
Dieser Code wird (Rechnen Sie 1000 PDF-Dateien in 300-dpi-TIFF-Dateien in C #) helfen:
SautinSoft.PdfFocus f = new SautinSoft.PdfFocus();
string[] pdfFiles = Directory.GetFiles(@"d:\Folder with 1000 pdfs\", "*.pdf");
string folderWithTiffs = @"d:\Folder with TIFFs\";
foreach (string pdffile in pdfFiles)
{
f.OpenPdf(pdffile);
if (f.PageCount > 0)
{
//save all pages to tiff files with 300 dpi
f.ToImage(folderWithTiffs, Path.GetFileNameWithoutExtension(pdffile), System.Drawing.Imaging.ImageFormat.Tiff, 300);
}
f.ClosePdf();
}
Ich mag PDFTIFF.com zum PDF to TIFF zu konvertieren, kann es unbegrenzt Seiten behandeln