java tif 转 pdf,使用itext将Tiff转换为PDF中的Pdf

I am using the below code for converting tiff to pdf

It works fine for tiff images of dimensions 850*1100.But when I am trying to give the input tiff image of dimensions(Eg :- 1574*732, 684*353 or other 850*1100), I am getting the below error. Please help me how to convert tiff images of different dimensions to pdf.

Error Occured for below code .Compression JPEG is only supported with a single strip. This image has 45 strips.

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();

}

}

解决方案

This code will explain how you can convert tiff to pdf.. more information can be found here and here

import com.itextpdf.text.pdf.RandomAccessFileOrArray;

//Read Tiff File, Get number of Pages

import com.itextpdf.text.pdf.codec.TiffImage;

//We need the library below to write the final

//PDF file which has our image converted to PDF

import java.io.FileOutputStream;

//The image class to extract separate images from Tiff image

import com.itextpdf.text.Image;

//PdfWriter object to write the PDF document

import com.itextpdf.text.pdf.PdfWriter;

//Document object to add logical image files to PDF

import com.itextpdf.text.Document;

public class TiffToPDF {

public static void main(String args[]){

try{

//Read the Tiff File

RandomAccessFileOrArray myTiffFile=new RandomAccessFileOrArray("c:\\java\\test.tif");

//Find number of images in Tiff file

int numberOfPages=TiffImage.getNumberOfPages(myTiffFile);

System.out.println("Number of Images in Tiff File" + numberOfPages);

Document TifftoPDF=new Document();

PdfWriter.getInstance(TifftoPDF, new FileOutputStream("c:\\java\\tiff2Pdf.pdf"));

TifftoPDF.open();

//Run a for loop to extract images from Tiff file

//into a Image object and add to PDF recursively

for(int i=1;i<=numberOfPages;i++){

Image tempImage=TiffImage.getTiffImage(myTiffFile, i);

TifftoPDF.add(tempImage);

}

TifftoPDF.close();

System.out.println("Tiff to PDF Conversion in Java Completed" );

}

catch (Exception i1){

i1.printStackTrace();

}

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值