Java 使用itextpdf修剪页面空白的步骤

Java 使用itextpdf修剪页面空白的步骤,java,pdf-generation,itext,itextpdf,Java,Pdf Generation,Itext,Itextpdf,我准备了一份pdf,其中包含一些数据,后面是一些空白。我不知道数据有多大,但我必须删除文档中的空白,请参阅以下代码 注意:文档仅包含文本 Document Document=新文档PageSize.A4、40、72、getMargins1、20; document.setMarginMirroringTopBottomtrue; PdfWriter writer=PdfWriter.getInstancedocument,新文件OutputStreamWebApps/wordimages/dis

我准备了一份pdf,其中包含一些数据,后面是一些空白。我不知道数据有多大,但我必须删除文档中的空白,请参阅以下代码 注意:文档仅包含文本

Document Document=新文档PageSize.A4、40、72、getMargins1、20; document.setMarginMirroringTopBottomtrue; PdfWriter writer=PdfWriter.getInstancedocument,新文件OutputStreamWebApps/wordimages/dischhip86.pdf; List list1=dao.EXECUTEQUERY从ip.dischargetemplate中选择wordole,其中patid='+patid+'

字符串html=Maplist1.get0.getWORDOLE.toString; InputStream _ishtml=new ByteArrayInputStreamhtml.getBytes

HeaderFooter事件=新HeaderFooter; writer.setPageEventevent

writer.setBoxSizeart,新矩形36,54,559,788; document.open

Font Font=FontFactory.getFontTimes-Roman;
XMLWorkerHelper.getInstance.parseXHtmlwriter,文档,_-ishtml

PDF可以看作是纸质文档的表示,因此不能只剪切空白

从物理世界的角度来看,您可以使用剪刀剪切纸质文档的空白,在PDF中,这意味着更改/减少目标页面格式

或者,您可以放大PDF内容,使其完全适合所需的页面格式宽度

您认为什么是可接受的解决方案

这两个选项都有缺点:第一个选项导致PDF输出为非标准页面格式。第二个结果是内容比例,即字体大小在文档之间发生变化

正如我在代码示例中看到的,您将HTML转换为PDF。第三种选择是重新安排HTML文档布局,不留空格,即表示为两列内容

如果前两个选项仍然可以接受,您可以尝试HTML到PDF转换器。其API调用pd4ml.adjustHtmlWidth实现了内容缩放逻辑选项2

此外,使用PD4ML还可以测量HTML内容宽度,并选择目标页面格式,使内容宽度与最佳选项1相匹配