问题描述
谢谢你帮助我。
我有一个简单的 HTML 作为附件,它有一个 IMG 标签,源代码为 base64。当我在生成 PDF 时使用宽度和高度的 % 时它不起作用,但是当我将绝对值设置为 200px 时它工作正常。
我在这里缺少什么(附加 HTML 和 JAVA 代码)?非常感谢任何帮助。
========================================
import com.openhtmltopdf.outputdevice.helper.BaseRendererBuilder;
import com.openhtmltopdf.pdfBoxout.PdfBoxRenderer;
import com.openhtmltopdf.pdfBoxout.PdfRendererBuilder;
import org.apache.commons.io.FileUtils;
import org.w3c.dom.Document;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.helper.W3CDom;
public class HTMLToPDFConverter
{
public static void main(String[] args) throws Exception {
File inputFile = new File(System.getProperty("user.dir") + "/test_1.html") ;
FileOutputStream outputFile = new java.io.FileOutputStream(System.getProperty("user.dir") + "/_output_gt6.pdf");
new HTMLToPDFConverter().convert(inputFile,outputFile);
}
private void convert(File inputFile,FileOutputStream fos) throws IOException {
Document doc = new W3CDom().fromJsoup(Jsoup.parse(inputFile,"UTF-8"));
PdfRendererBuilder builder = new PdfRendererBuilder();
builder.useFastMode();
builder.useDefaultPageSize(8.3f,11.7f,BaseRendererBuilder.PageSizeUnits.INCHES);
builder.withW3cDocument(doc,"/");
builder.toStream(fos[enter image description here][1]);
PdfBoxRenderer renderer = builder.buildPdfRenderer();
renderer.getSharedContext().setDotsPerPixel(16);
renderer.layout();
renderer.createPDF();
renderer.close();
}
}
====================================
<html>
<head>
<title> Agreement Template</title>
</head>
<body>
<table >
<tr>
<td width="50%" height="60%" >
<img width="50%" height="60%" alt="Test" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAsCAYAA .... " >
</tr>
</table>
</body>
</html>
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)