【发布时间】:2014-07-31 06:36:05
【问题描述】:
我正在使用以下代码将 tiff 转换为 pdf 它适用于尺寸为 850*1100 的 tiff 图像。但是当我尝试提供尺寸的输入 tiff 图像(例如:- 1574*732、684*353 或其他 850*1100)时,我收到以下错误。请帮我如何将不同尺寸的tiff图像转换为pdf。
以下代码发生错误。压缩 JPEG 仅支持单个条带。这张图片有 45 条。
RandomAccessFileOrArray myTifFile = null;
com.itextpdf.text.Document tiffToPDF= null;
PdfWriter pdfWriter = null;
try{
myTifFile = new RandomAccessFileOrArray(fileName);
int numberOfPages = TiffImage.getNumberOfPages(myTifFile);
tiffToPDF = new com.itextpdf.text.Document(PageSize.LETTER_LANDSCAPE);
String temp = fileName.substring(0, fileName.lastIndexOf("."));
pdfWriter = PdfWriter.getInstance(tiffToPDF, new FileOutputStream(temp+".pdf"));
pdfWriter.setStrictImageSequence(true);
tiffToPDF.open();
for(int tiffImageCounter = 1;tiffImageCounter <= numberOfPages;tiffImageCounter++)
{
Image img = TiffImage.getTiffImage(myTifFile, tiffImageCounter);
img.setAbsolutePosition(0,0);
img.scaleToFit(612,792);
tiffToPDF.add(img);
tiffToPDF.newPage();
}
}
【问题讨论】:
-
您使用的是哪个 iText 版本?许多 TIFF 已损坏或未完全遵循规范,我最近在 iText 中添加了后备。我看到您在此处的代码示例中使用 com.itextpdf.text.Document,但作为对答案的评论,您似乎使用的是 2.x:“com.lowagie.text.pdf.RandomAccessFileOrArray”。那么它是哪个版本的呢?
-
在我的代码中我使用的是 itextpdf-5.4.1.jar
-
你能分享你的 TIFF 吗?可以升级到 5.5.2 吗?
-
我应该提一下,仅使用 iText 可能无法正常工作。异常消息非常清楚:压缩 JPEG 仅支持单个条带。这张图片有 45 条。
-
[链接]dropbox.com/s/7t469wdoccwayzq/02.tif。我将用最新版本替换 jar 并检查它。
标签: java pdf itext tiff pdfbox