it-swarm-ru.tech

Лучший способ конвертировать PDF файлы в TIFF файлы

У меня есть около 1000 PDF-файлов, и мне нужно преобразовать их в TIFF-файлы с разрешением 300 точек на дюйм. Каков наилучший способ сделать это? Если есть SDK или что-то или инструмент, который может быть принят, это было бы идеально.

67
gyurisc

Используйте Imagemagick или, что еще лучше, Ghostscript.

http://www.ibm.com/developerworks/library/l-graf2/#N101C2 есть пример для imagemagick:

convert foo.pdf pages-%03d.tiff

http://www.asmail.be/msg0055376363.html есть пример для ghostscript:

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

Я установил ghostscript и прочитал справочную страницу для gs, чтобы узнать, какие именно опции нужны, и поэкспериментировать.

55
Aeon

Используя GhostScript из командной строки, в прошлом я использовал следующее:

в Windows:

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

на * nix:

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

Для большого количества файлов можно использовать простой пакетный скрипт/Shell-скрипт для преобразования произвольного количества файлов ...

41
tomasso

Я написал небольшой сценарий powershell, чтобы пройти через структуру каталогов и преобразовать все pdf-файлы в tiff-файлы, используя ghostscript. Вот мой сценарий:

$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) Установите GhostScript

2) Установите ImageMagick

3) Создайте "Convert-to-TIFF.bat" (Windows XP, Vista, 7) и используйте следующую строку:

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

Перетаскивание любого количества одностраничных файлов PDF в этот файл преобразует их в сжатые файлы TIFF с разрешением 300 DPI.

8
Tyler

используя python это то, что я закончил

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

PDF Focus .Net может сделать это следующим образом:

1.PDF в 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 в многостраничный 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 может сделать это также - проверьте http://www.websupergoo.com/helppdf6net/default.html

3
Danimal

Требуется ghostscript & tiffcp Протестировано в 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

Как насчет pdf2tiff? http://python.net/~gherman/pdf2tiff.html

2
JBB

Может тоже попробовать? PDF Focus

Эта библиотека .Net позволяет решить проблему :)

Этот код поможет (конвертировать 1000 PDF файлов в файлы TIFF с разрешением 300 точек на дюйм в 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

http://python.net/~gherman/projects/pdf2tiff/

Вы также можете использовать pdf2ps, ps2image, а затем преобразовать полученное изображение в tiff с другими утилитами (я помню 'paul' [paul - еще один просмотрщик изображений (отображает PNG, TIFF, GIF, JPG и т.д.])

2
INS

Отказ от ответственности: работа для продукта, который я рекомендую

Atalasoft имеет библиотеку .NET, которая может конвертировать PDF в TIFF - мы являемся партнером FOXIT, поэтому рендеринг PDF очень хорош.

2
Lou Franco

Мне нравится PDFTIFF.com для конвертировать PDF в TIFF , он может обрабатывать неограниченное количество страниц

1
John