web-dev-qa-db-fra.com

Meilleur moyen de convertir des fichiers pdf en fichiers tiff

J'ai environ 1000 fichiers pdf et j'ai besoin de les convertir en fichiers tiff de 300 dpi. Quelle est la meilleure façon de procéder? S'il y a un SDK ou quelque chose ou un outil pouvant être accepté, ce serait l'idéal.

67
gyurisc

Utilisez Imagemagick ou, mieux encore, Ghostscript.

http://www.ibm.com/developerworks/library/l-graf2/#N101C2 a un exemple pour imagemagick:

convert foo.pdf pages-%03d.tiff

http://www.asmail.be/msg0055376363.html a un exemple pour ghostscript:

gs -q -dNOPAUSE -sDEVICE=tiffg4 -sOutputFile=a.tif foo.pdf -c quit

Je voudrais installer ghostscript et lire la page de manuel de gs pour voir les options exactes nécessaires et les expérimenter.

55
Aeon

En utilisant GhostScript à partir de la ligne de commande, j'ai déjà utilisé les outils suivants:

sous Windows:

gswin32c -dNOPAUSE -q -g300x300 -sDEVICE=tiffg4 -dBATCH -sOutputFile=output_file_name.tif input_file_name.pdf

sur * nix:

gs -dNOPAUSE -q -g300x300 -sDEVICE=tiffg4 -dBATCH -sOutputFile=output_file_name.tif input_file_name.pdf

Pour un grand nombre de fichiers, un simple script batch/shell peut être utilisé pour convertir un nombre arbitraire de fichiers ...

41
tomasso

J'ai écrit un petit script PowerShell pour passer par une structure de répertoires et convertir tous les fichiers pdf en fichiers tiff à l'aide de ghostscript. Voici mon script:

$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
    }
}
17
gyurisc

1) Installer GhostScript

2) Installer ImageMagick

3) Créez "Convert-to-TIFF.bat" (Windows XP, Vista, 7) et utilisez la ligne suivante:

for %%f in (%*) DO "C:\Program Files\ImageMagick-6.6.4-Q16\convert.exe" -density 300 -compress lzw %%f %%f.tiff

Si vous faites glisser un nombre illimité de fichiers d'une seule page PDF) sur ce fichier, ils seront convertis en fichiers TIFF compressés, à 300 DPI.

8
Tyler

en utilisant python c'est ce que j'ai fini avec

    import os
    os.popen(' '.join([
                       self._ghostscriptPath + 'gswin32c.exe', 
                       '-q',
                       '-dNOPAUSE',
                       '-dBATCH',
                       '-r300',
                       '-sDEVICE=tiff12nc',
                       '-sPAPERSIZE=a4',
                       '-sOutputFile=%s %s' % (tifDest, pdfSource),
                       ]))
7
Setori

Le PDF Focus .Net peut le faire de cette manière:

1.PDF en 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 en 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);
    }
}   
4
k venkat

ABCPDF peut également le faire - vérifiez http://www.websupergoo.com/helppdf6net/default.html

3
Danimal

Requis ghostscript & tiffcp Testé sous 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')
3
Russell Wong

Que diriez-vous de pdf2tiff? http://python.net/~gherman/pdf2tiff.html

2
JBB

Peut-être aussi essayer ceci? PDF Focus

Cette bibliothèque .Net vous permet de résoudre le problème :)

Ce code vous aidera (Convertissez 1000 PDF en fichiers TIFF 300 dpi en C #):

    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();
    }
2
Sally

https://pypi.org/project/pdf2tiff/

Vous pouvez également utiliser pdf2ps, ps2image, puis convertir l’image obtenue en tiff avec d’autres utilitaires (je me souviens de 'paul' [paul - Encore un autre visualiseur d’images (affiche les formats PNG, TIFF, GIF, JPG, etc.])

2
INS

Avertissement: travail pour le produit que je recommande

Atalasoft possède une bibliothèque .NET qui peut convertir PDF au format TIFF - nous sommes un partenaire de FOXIT, donc le PDF rendu c'est très bien.

2
Lou Franco

J'aime PDFTIFF.com à convertir PDF au format TIFF , il peut gérer un nombre illimité de pages

1
John