Tôi có khoảng 1000 tệp pdf và tôi cần chuyển đổi chúng thành 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 kịch bản đó sẽ là lý tưởng.Cách tốt nhất để chuyển đổi tệp pdf thành tệp tiff
Trả lời
Sử dụng Imagemagick, hoặc tốt hơn, Ghostscript.
http://www.ibm.com/developerworks/library/l-graf2/#N101C2 có một ví dụ cho ImageMagick:
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 man page của gs để xem những tùy chọn chính xác là cần thiết và thử nghiệm.
ghostscript hoạt động thực sự tốt, theo như tôi hiểu imagemagick đang sử dụng ghostscript cho các hoạt động pdf. Điều này có đúng không? – gyurisc
đó là những gì tôi nghe, nhưng tôi không phải là một chuyên gia về nội dung ImageMagick;) – Aeon
hiện imagemagick xử lý nhiều pdf -> tiff đúng cách? –
Làm thế nào về pdf2tiff? http://python.net/~gherman/pdf2tiff.html
điều này không xử lý tiffs nhiều, nhưng tiếc là điều này là không đi cho tôi. Nhờ đề nghị mặc dù. – gyurisc
http://python.net/~gherman/projects/pdf2tiff/
Bạn cũng có thể sử dụng pdf2ps, ps2image và sau đó chuyển đổi từ hình ảnh kết quả để tiff với các tiện ích khác (tôi nhớ 'paul' [paul - Tuy nhiên, một trình xem ảnh (hiển thị PNG, TIFF, GIF, JPG vv])
ABCPDF thể làm như vậy cũng - kiểm tra http://www.websupergoo.com/helppdf6net/default.html
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 rằng có thể convert PDF to TIFF - chúng tôi là đối tác của FOXIT, do đó việc kết xuất PDF rất tốt.
Sử dụng GhostScript từ dòng lệnh, tôi đã sử dụng những điều sau đây trong quá khứ:
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 các tệp, một tập lệnh batch/shell đơn giản có thể được sử dụng để chuyển đổi một số lượng tệp tùy ý ...
+1. Lệnh hữu ích. Nhưng màu sắc của tôi là xuất hiện trong màu đen và trắng. Bất kỳ ý tưởng tại sao? –
'-sDEVICE = tiffg4' là mô hình nén fax đen trắng. Xem: http://pages.cs.wisc.edu/~ghost/doc/AFPL/8.00/Devices.htm#TIFF – HairyFotr
Hầu hết thời gian bạn muốn chuyển đổi hình ảnh pdf sang TIFF có kích thước 300x300 dpi, không phải kích thước 300x300. Vì lý do này, thay thế '-g' bằng' -r': 'gswin32c -dNOPAUSE -q -r300x300 ...' – berezovskyi
Tôi đã viết một tập lệnh PowerShell nhỏ để đi qua một cấu trúc thư mục và chuyển đổi tất cả các tệp pdf thành 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
}
}
Cảm ơn !! điều này thực sự đã giúp tôi! – codekitty
Sau 7 năm, điều này tiếp tục hữu ích!Tôi sẽ chỉ thêm rằng một người không có kinh nghiệm PowerShell, bạn cần phải: 1. Chỉnh sửa giá trị công cụ $ để phù hợp với đường dẫn và phiên bản trên hệ thống của bạn. 2. Mở PowerShell và cd vào thư mục chứa các tệp PDF. 3. Dán mã vào cửa sổ PowerShell. Tôi cần nhấn enter vài lần sau đó để nó chạy. Cảm ơn gyurisc –
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),
]))
Nói chung bạn sẽ muốn sử dụng tiến trình con cho việc này. os.popen được coi là không được chấp nhận. Cú pháp gần như giống nhau. – mlissner
Tôi thích PDFTIFF.com để convert PDF to TIFF, nó có thể xử lý các trang không giới hạn
1) Cài đặt GhostScript
2) Cài đặt ImageMagick
3) Tạo "Ch.đổi ert-to-TIFF.dơi"(Windows XP, Vista, 7) và sử dụng các 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 single-page file PDF vào tập tin này sẽ chuyển đổi chúng sang TIFFs nén, ở 300 DPI
GhostScript là bắt buộc? Nếu tôi chỉ cài đặt ImageMagick? – Kiquenet
. cần GhostScript & tiffcp Tested 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')
lẽ cũng thử loại này? PDF Focus
thư viện Net này cho phép bạn giải quyết vấn đề :)
Mã này sẽ giúp (Convert 1000 file PDF sang file 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();
}
PDF Focus Net có thể làm điều đó theo cách như vậy:
1.PDF sang 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 sang nhiều trang-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);
}
}
PdfFocus là miễn phí? – Kiquenet
- 1. Công cụ chuyển đổi PDF đa thành nhiều dạng TIFF
- 2. Chuyển đổi UIImage thành Tệp PDF
- 3. Sử dụng chuyển đổi hoặc mogrify để hợp nhất nhiều tệp PNG thành một tệp TIFF nhiều trang
- 4. Làm cách nào để hợp nhất nhiều tệp PDF thành một tệp duy nhất?
- 5. Chuyển đổi các tệp TIFF sang PNG trong .Net
- 6. Công cụ hoặc thư viện miễn phí để chuyển đổi các tệp Tiff thành pdf trong .Net
- 7. Cách tốt nhất để tự động chuyển đổi tệp nguồn LilyPond thành nhiều khóa là gì?
- 8. Cách tốt nhất để chuyển đổi XPS thành PDF (và ngược lại)?
- 9. Làm cách nào để chuyển đổi các tệp Word thành PDF theo lập trình?
- 10. Cách chuyển đổi hàng nghìn tệp PDF thành một tệp Postscript duy nhất theo thứ tự được chỉ định
- 11. Chuyển đổi tệp PDF sang hình ảnh
- 12. Chuyển đổi PDF thành chuỗi
- 13. Chuyển đổi SVG thành PDF (svglib + reportlab không đủ tốt)
- 14. Chuyển đổi tệp NIB thành tệp XIB
- 15. Cách tốt nhất để chuyển đổi Chuỗi thành ByteString
- 16. Cách tốt nhất để chuyển đổi std :: wstring thành QString
- 17. Cách tốt nhất để chuyển đổi Pascal Case thành câu
- 18. Tệp hình ảnh để chuyển đổi luồng PDF
- 19. ImageMagick hoặc GhostScript: chuyển đổi TIFF nhiều trang thành PDF nhiều trang
- 20. Chuyển đổi một tệp aspx duy nhất thành mã sau
- 21. Cách chuyển đổi tệp .Rmd thành tệp .Rnw của Rstudio?
- 22. Chuyển đổi tệp thành MultiPartFile
- 23. Cách chuyển đổi PDF sang tệp văn bản trong iTextSharp
- 24. java: cách chuyển đổi tệp thành utf8
- 25. chuyển đổi định dạng tiff sang jpg
- 26. Chuyển đổi IFile thành Tệp
- 27. cách chuyển đổi tệp .java thành tệp .class
- 28. Cách chuyển đổi TIFF sang JPEG/PNG trong java
- 29. Chuyển đổi tệp TEX sang PDF hoặc DOCX?
- 30. Làm thế nào để chuyển đổi tệp trình bày Powerpoint thành tệp pdf bằng các công nghệ web?
Đây là giải pháp mà tôi sử dụng: [Pdf to Tiff sử dụng pdftoppm xpdf và ppm2tiff và tiffcp LibTIFF (không bắt buộc, chỉ khi multipage)] [1] [1]: http://stackoverflow.com/a/12868254/551460 –
bất kỳ giải pháp cuối cùng nào có nguồn đầy đủ de mẫu? có thể sử dụng kịch bản PowerShell .. – Kiquenet
@Kiquenet Tôi đăng một giải pháp sử dụng PowerShell. Xem bên dưới ... – gyurisc