相关疑难解决方法(0)

将HTML文件转换为PDF

我需要从现有的(X)HTML文档自动生成PDF文件.输入文件(报告)使用相当简单的基于表格的布局,因此可能不需要支持真正花哨的JavaScript/CSS内容.

由于我习惯于使用Java,因此最好能够在java项目中轻松使用.但它只需要在Windows系统上工作.

一种方法是可行的,但不能产生高质量的输出(至少开箱即用)是使用CSS2XSLFO和Apache FOP来创建PDF文件.我遇到的问题是,虽然很好地转换了CSS属性,但表格布局非常混乱,文本流出表格单元格.

我还快速浏览了Jrex,这是一个使用Gecko渲染引擎的Java-API.

有没有办法从Internet Explorer渲染引擎中获取渲染页面并自动将其发送到PDF-Printer工具?我没有windows中的OLE编程经验,所以我不知道什么是可能的,什么不是.

你有好主意吗?

编辑:FlyingSaucer/iText看起来很有前途.我会尽力去做.

感谢所有的答案

html java pdf pdf-generation

125
推荐指数
3
解决办法
20万
查看次数

iText - 在创建PDF时旋转页面内容

我想制作一个包含横向页面的PDF.虽然可以使用以下方法将页面大小设置为横向:

document.setPageSize(PageSize.LETTER.rotate());
Run Code Online (Sandbox Code Playgroud)

这没有实现我想要的,因为我添加的任何内容仍然是左 - >右,而我希望它是底部 - >顶部.

IE这是我得到的:

内容为left-> right的景观

当我想要的是:

内容底部的景观 - >顶部

我已经能够通过在创建PDF并使用iText 旋转后打开PDF来实现所需的输出,但我想要一个解决方案,让我在添加内容后立即使用iText旋转它.

java pdf itext

12
推荐指数
1
解决办法
1万
查看次数

iText样式将HTML解析为PDF

我有iText的问题.

我已经关注此链接:如何将html页面导出为pdf格式?

我的片段:

    String str = "<html><head><body><div style=\"width:100%;height:100%;\"><h3 style=\"margin-left:5px;margin-top:40px\">First</h3><div style=\"margin-left:15px;margin-top:15px\"><title></title><p>sdasdasd shshshshdffgdfgd</p></div><h3 style=\"margin-left:5px;margin-top:40px\">The dream</h3><div style=\"margin-left:15px;margin-top:15px\"></div></div></body></head></html>";
    String fileNameWithPath = "/Users/cecco/Desktop/pdf2.pdf";


    com.itextpdf.text.Document document =
            new com.itextpdf.text.Document(com.itextpdf.text.PageSize.A4);
    FileOutputStream fos = new FileOutputStream(fileNameWithPath);
    com.itextpdf.text.pdf.PdfWriter pdfWriter =
            com.itextpdf.text.pdf.PdfWriter.getInstance(document, fos);

    document.open();

    document.addAuthor("Myself");
    document.addSubject("My Subject");
    document.addCreationDate();
    document.addTitle("My Title");

    com.itextpdf.text.html.simpleparser.HTMLWorker htmlWorker =
            new com.itextpdf.text.html.simpleparser.HTMLWorker(document);
    htmlWorker.parse(new StringReader(str.toString()));

    document.close();
    fos.close();
Run Code Online (Sandbox Code Playgroud)

工作正常.

但是不考虑将标签样式转换为h3和div.

在此输入图像描述

但是,如果我将我的html复制到http://htmledit.squarefree.com/,一切都是正确的.

我怎么解决这个问题?

html java pdf itext

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

java ×3

pdf ×3

html ×2

itext ×2

pdf-generation ×1