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.

War es hilfreich?

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')

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top