Java 与open html to PDF一起使用时,PDF生成的大小非常大

Java 与open html to PDF一起使用时,PDF生成的大小非常大,java,pdfbox,openhtmltopdf,Java,Pdfbox,Openhtmltopdf,您好,我正在尝试将我的Html转换为Pdf,我正在使用OpenHtmltoPdf进行转换。我还从本地目录加载了Arial Unicode MS字体。包括它后,我的pdf文件大小增加到近100mb。有没有办法减小文件大小 我尝试将我的PDFrenderBuilder设置为静态,但仍然会出现相同的错误 首先,我已经初始化了我的PDFrenderBuilder private static PdfRendererBuilder pdfBuilder=new PdfRendererBuilder();

您好,我正在尝试将我的Html转换为Pdf,我正在使用OpenHtmltoPdf进行转换。我还从本地目录加载了Arial Unicode MS字体。包括它后,我的pdf文件大小增加到近100mb。有没有办法减小文件大小

我尝试将我的PDFrenderBuilder设置为静态,但仍然会出现相同的错误

首先,我已经初始化了我的PDFrenderBuilder

private static PdfRendererBuilder pdfBuilder=new PdfRendererBuilder();
pdfBuilder.useFastMode();
pdfBuilder.useFont(new File("D://New//ARIAL.ttf"), "Arial Unicode MS");
对于PDF创建,我使用了

public void pdfCreate(){
 pdfBuilder.withHtmlContent(str.toString(), "");

PdfBoxRenderer box = pdfBuilder.buildPdfRenderer();
box.createPDFWithoutClosing();
PDFMergerUtility merge = new PDFMergerUtility()
PDDocument htmlDocument2=box.getPdfDocument();
merge.appendDocument(doc, htmlDocument2);
}
这里doc是我的原始文档,htmlDocument2是我新生成的文档。str是我的html stringBuilder对象。 我必须多次调用这个pdfCreate()方法


我想减小pdf的文件大小

必须查看pdf。我的猜测是Arial Unicode字体没有被子集。很抱歉回复太晚。我尝试过对字体进行子集设置,但仍然不起作用,然后我找到了另一种解决方案,但这不是正确的方法。我保存了由openHtmlToPdf生成的新创建的pdf,在加载该pdf并与原始pdf合并后。是的,我知道这不是一个好方法,但这是我找到的唯一选择。你是说文件因为合并而变小了吗?这表明,只要再次打开并保存文件,文件也会变小。再说一次,我不能在没有看到的情况下评论PDF的大小。你必须看到PDF。我的猜测是Arial Unicode字体没有被子集。很抱歉回复太晚。我尝试过对字体进行子集设置,但仍然不起作用,然后我找到了另一种解决方案,但这不是正确的方法。我保存了由openHtmlToPdf生成的新创建的pdf,在加载该pdf并与原始pdf合并后。是的,我知道这不是一个好方法,但这是我找到的唯一选择。你是说文件因为合并而变小了吗?这表明,只要再次打开并保存文件,文件也会变小。同样,我不能在没有看到PDF的情况下评论它的大小。