我准备了一个pdf,其中包含一些数据,后跟一些空格。我不知道数据有多大,但我必须删除文档中的空格,请参阅以下代码 注意:文档仅包含文本
文档文档=新文档(PageSize.A4,40,72,getMargins(1),20);
document.setMarginMirroringTopBottom(true);
PdfWriter writer = PdfWriter.getInstance(document,new FileOutputStream(webapps / wordimages / dischhip86.pdf));
List list1 = dao.executeQuery("select wordole from ip.dischargetemplate where patid='"+patid+"'");
String html =((Map)list1.get(0))。get(" WORDOLE")。toString();
InputStream _ishtml = new ByteArrayInputStream(html.getBytes());
HeaderFooter event = new HeaderFooter();
writer.setPageEvent(event);
writer.setBoxSize(" art",new Rectangle(36,54,559,788));
document.open();
Font font = FontFactory.getFont(" Times-Roman");
XMLWorkerHelper.getInstance().parseXHtml(writer, document, _ishtml);
答案 0 :(得分:0)
PDF可以看作纸质文档的表示,因此您不能只剪切空格。
从物理世界的角度来看,您可以使用剪刀剪切纸质文档的空白区域,PDF格式表示更改/缩小目标页面格式。
或者,您可以放大PDF内容以完全符合所需的页面格式宽度。
您认为什么是可接受的解决方案?
这两个选项都有缺点:第一个选项导致输出具有非标准页面格式的PDF。第二个结果是内容比例(即字体大小)在文档之间自行改变。
正如我在您的代码示例中看到的,您将HTML转换为PDF。第三种选择是重新排列HTML文档布局以不留空格(即表示为两列内容)。
如果您仍然可以接受前两个选项,则可以尝试HTML-to-PDF转换器PD4ML。其API调用pd4ml.adjustHtmlWidth()实现了内容扩展逻辑(选项#2)。
同样使用PD4ML,可以测量HTML内容宽度并选择目标页面格式,最好匹配内容宽度(选项#1)。