如何在pdf中添加图像和文本以保存html文件

时间:2013-08-13 06:02:48

标签: java itext

import com.itextpdf.text.Document;
import com.itextpdf.text.Image;
import com.itextpdf.text.html.simpleparser.HTMLWorker;
import com.itextpdf.text.pdf.PdfWriter;
import com.itextpdf.text.pdf.codec.Base64.OutputStream;
import java.io.FileOutputStream;
import java.io.StringReader;
import java.net.URL;

public class myclass {
    public static void main(String[] args) {
        String result = "<html><body><div>(i) the recognised association shall have the approval of the Forward  Markets  Commission established under the Forward  Contracts (Regulation) Act, 1952 (74 of 1952) in respect of trading in derivatives and shall function in accordance with the guidelines or conditions laid down by the Forward  Markets  Commission; </div>  <body> </html>";
        Document document = new Document();
        OutputStream file = null;
        try {
            PdfWriter.getInstance(document, new FileOutputStream(
                    "E://Image.pdf"));
            document.open();
            PdfWriter.getInstance(document, file);
            document.open();
            @SuppressWarnings("deprecation")
            HTMLWorker htmlWorker = new HTMLWorker(document);
            htmlWorker.parse(new StringReader(result));
            String imageUrl = "http://www.taxmann.com/emailer/demo/mobileAapp/newAppDesign.jpg";
            Image image2 = Image.getInstance(new URL(imageUrl));
            document.add(image2);
            document.close();
            file.flush();
            document.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

我正在尝试在pdf文件中保存图像和文本。当我们设置文本或图像时,它工作正常,同时无法保存图像和文本两者都在PDF格式。如何在Pdf中保存图像和文本?我正在使用 iText

1 个答案:

答案 0 :(得分:0)

问题是Outputstream的导入错误,而file始终为空。你从来没有分配过任何O / P流。

试试这个

import java.io.FileOutputStream;
import java.io.OutputStream;
import java.io.StringReader;
import java.net.URL;

import com.itextpdf.text.Document;
import com.itextpdf.text.Image;
import com.itextpdf.text.html.simpleparser.HTMLWorker;
import com.itextpdf.text.pdf.PdfWriter;

public class ItextExample {

    @SuppressWarnings("deprecation")
    public static void main(String[] args) {

        String result = "<html><body><div>(i) the recognised association shall have the approval of the Forward  Markets  Commission established under the Forward  Contracts (Regulation) Act, 1952 (74 of 1952) in respect of trading in derivatives and shall function in accordance with the guidelines or conditions laid down by the Forward  Markets  Commission; </div>  <body> </html>";
        Document document = new Document();
        OutputStream file = null;
        try {
            file = new FileOutputStream("E://Image1.pdf");
            PdfWriter.getInstance(document,file);
            document.open();
            HTMLWorker htmlWorker = new HTMLWorker(document);
            htmlWorker.parse(new StringReader(result));
            String imageUrl = "http://www.taxmann.com/emailer/demo/mobileAapp/newAppDesign.jpg";
            Image image2 = Image.getInstance(new URL(imageUrl));
            document.add(image2);
        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            try {
            document.close();
            file.flush();
            }catch(Exception e) {
              e.printStackTrace();  
            }
        }
    }
}