Question

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

Était-ce utile?

La solution

Utilisez Imagemagick ou, mieux encore, Ghostscript.

http://www.ibm.com/developerworks/library/l -graf2 / # N101C2 contient 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 connaître les options exactes nécessaires et expérimenter.

Autres conseils

À l’aide de GhostScript à partir de la ligne de commande, j’avais utilisé les méthodes suivantes:

sous Windows:

gswin32c -dNOPAUSE -q -g300x300 -sDEVICE = tiffg4 -dBATCH -sOutputFile = nom_fichier_sortie.tif nom_fichier_entrée.pdf

sur * nix:

gs -dNOPAUSE -q -g300x300 -sDEVICE = tiffg4 -dBATCH -sOutputFile = nom_fichier_sortie.tif nom_fichier_entrée.pdf

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

J'ai écrit un petit script PowerShell pour passer en revue 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 {

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

<*>.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) Installez GhostScript

2) Installez ImageMagick

3) Créez un fichier "Convertir en 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

Faites glisser un nombre illimité de fichiers PDF d'une seule page sur ce fichier pour les convertir en fichiers TIFF compressés, à 300 DPI.

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),
                       ]))

PDF Focus .Net peut le faire de la manière suivante:

1. PDF au format 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 au format TIFF sur plusieurs pages

//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 peut également le faire - consultez http://www.websupergoo.com/helppdf6net/default.html

Requis ghostscript & amp; 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')

http://python.net/~gherman/projects/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.)]

Avertissement: travail pour le produit que je recommande

Atalasoft possède une bibliothèque .NET qui peut convertir un fichier PDF en TIFF - nous sommes un partenaire de FOXIT. Le rendu PDF est donc très bon.

Peut-être aussi essayer ceci? Focus PDF

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

Ce code vous aidera (convertissez 1000 fichiers 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();
    }

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top