Le meilleur moyen de convertir des fichiers pdf en fichiers tiff [fermé]
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.
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')
Qu'en est-il de pdf2tiff? http://python.net/~gherman/pdf2tiff.html
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