it-swarm-vi.tech

Cách tốt nhất để chuyển đổi tập tin pdf thành tập tin tiff

Tôi có khoảng 1000 tệp pdf và tôi cần chuyển đổi chúng thành các tệp tiff 300 dpi. Cách tốt nhất để làm việc này là gì? Nếu có một SDK hoặc một cái gì đó hoặc một công cụ có thể được chấp nhận sẽ là lý tưởng.

67
gyurisc

Sử dụng Imagemagick, hoặc tốt hơn nữa, Ghostscript.

http://www.ibm.com/developerworks/l Library/l-graf2/# H501C2 có một ví dụ cho hình ảnh:

convert foo.pdf pages-%03d.tiff

http://www.asmail.be/msg0055376363.html có một ví dụ cho ghostscript:

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

Tôi sẽ cài đặt ghostscript và đọc trang man cho gs để xem những tùy chọn chính xác nào là cần thiết và thử nghiệm.

55
Aeon

Sử dụng GhostScript từ dòng lệnh, trước đây tôi đã sử dụng như sau:

trên Windows:

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

trên * nix:

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

Đối với một số lượng lớn tệp, tập lệnh bó/Shell đơn giản có thể được sử dụng để chuyển đổi số lượng tệp tùy ý ...

41
tomasso

Tôi đã viết một tập lệnh powershell nhỏ để đi qua cấu trúc thư mục và chuyển đổi tất cả các tệp pdf thành các tệp tiff bằng ghostscript. Đây là kịch bản của tôi:

$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) Cài đặt GhostScript

2) Cài đặt ImageMagick

3) Tạo "Chuyển đổi thành TIFF.bat" (Windows XP, Vista, 7) và sử dụng dòng sau:

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

Kéo bất kỳ số lượng trang nào PDF tệp vào tệp này sẽ chuyển đổi chúng thành TIFF được nén, ở mức 300 DPI.

8
Tyler

bằng cách sử dụng python đây là những gì tôi đã kết thúc với

    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 có thể thực hiện theo cách như vậy:

1.PDF thành 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 thành Đa mục-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 cũng có thể làm như vậy - hãy xem http://www.websupergoo.com/helppdf6net/default.html

3
Danimal

Yêu cầu ghostscript & tiffcp Đã thử nghiệm trong 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

Làm thế nào về pdf2tiff? http://python.net/~gherman/pdf2tiff.html

2
JBB

Có lẽ cũng nên thử điều này? Tập trung PDF

Thư viện .Net này cho phép bạn giải quyết vấn đề :)

Mã này sẽ giúp (Chuyển đổi 1000 PDF thành tệp TIFF 300-dpi trong 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/

Bạn cũng có thể sử dụng pdf2ps, ps2image và sau đó chuyển đổi từ hình ảnh kết quả sang tiff với các tiện ích khác (Tôi nhớ 'paul' [paul - Một trình xem hình ảnh khác (hiển thị PNG, TIFF, GIF, JPG, v.v.))

2
INS

Disclaimer: làm việc cho sản phẩm tôi đang giới thiệu

Atalasoft có một thư viện .NET có thể convert PDF thành TIFF - chúng tôi là đối tác của FOXIT, do đó, PDF kết xuất rất tốt.

2
Lou Franco

Tôi thích PDFTIFF.com thành convert PDF thành TIFF , nó có thể xử lý các trang không giới hạn

1
John