首页 文章

使用itextpdf修剪页面的空白[复制]

提问于
浏览
0

这个问题在这里已有答案:

我准备了一个包含一些数据的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事件= 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);

1 回答

  • 0

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

    从物理世界的角度来看,您可以使用剪刀剪切纸质文档的空白区域,在PDF中表示更改/缩小目标页面格式 .

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

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

    这两个选项都有缺点:第一个选项导致输出具有非标准页面格式的PDF . 第二个结果是内容比例(即字体大小)在文档之间自行改变 .

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

    如果您仍然可以接受前两个选项,则可以尝试HTML-to-PDF转换器PD4ML . 其API调用pd4ml.adjustHtmlWidth()实现了内容扩展逻辑(选项#2) .

    同样使用PD4ML可以测量HTML内容宽度并选择目标页面格式,最好匹配内容宽度(选项#1) .

相关问题