PDF处理控件Aspose.PDF for Java v19.8全新上线!在标记PDF中实现表格支持

原创|产品更新|编辑:李显亮|2019-09-04 15:12:21.350|阅读 31 次

概述:Aspose.PDF for Java更新至v19.8,新增在标记PDF中实现表格支持,支持在单个页面中渲染所有内容,修复HTML到PDF无法解析引发的URL异常等问题。

Aspose.PDF for Java是一种快速,轻量级的PDF处理控件,无需使用Adobe Acrobat即可生成,修改,转换,渲染,保护和打印PDF文档。同时支持使用PDF,XFA,TXT,HTML,PCL,XML,XPS和图像文件格式。

Aspose.PDF for Java提供PDF压缩选项,表格创建和操作,图形支持,图像功能,广泛的超链接功能,扩展的安全控制和自定义字体处理。此外,开发人员可以通过其API或XML模板直接创建PDF文档,并可以创建表单或管理PDF文档中嵌入的表单域。

Aspose.PDF for Java更新至v19.8,新增在标记PDF中实现表格支持,支持在单个页面中渲染所有内容,修复HTML到PDF无法解析引发的URL异常等问题。>>欢迎下载Aspose.PDF for Java最新试用版

新增与改善

key概述类别
PDFJAVA-38770在单个页面中渲染所有内容 新功能
PDFJAVA-38814PDF / UA:在标记PDF中实现表格支持新功能
PDFJAVA-38771HTML到PDF:使用SVG渲染HTML增强
PDFJAVA-38551PDF到DOCX导致java.lang.IndexOutOfBoundsExceptionBug修复
PDFJAVA-38325SVG到PDF - 文本没有使用正确的字体进行渲染Bug修复
PDFJAVA-38791文件处理问题Bug修复
PDFJAVA-38527HTML到PDF - 无法解析引发的URL异常Bug修复
PDFJAVA-38784代码在保存时抛出NullPointExceptionBug修复
PDFJAVA-38555HTML到PDF - 如果图像标记没有值,则无法解析URL异常Bug修复
PDFJAVA-36943页面编号中的间距问题Bug修复
PDFJAVA-37360将图像插入PDF时,页面为空白Bug修复

新增功能演示

PDF / UA:在标记PDF中实现表格支持

使用ITaggedContent接口的createTableElement()方法创建表。要为表创建Head,Body和Foot,请使用TableElement对象的createTHead(),createTBody()和createTFoot()方法。

抽象类TableRowCollectionElement是TableTHeadElement,TableTBodyElement和TableTFootElement类的基础。方法TableRowCollectionElement.createTR()为对应的对象创建行。

表行对象属于TableTRElement calss。 方法TableTRElement.createTH()和TableTRElement.createTD()为相应的行创建行的单元格。 您还可以验证所创建文档的PDF / UA合规性。 下面的代码段显示了如何使用此功能。

Document document = new Document();
ITaggedContent taggedContent = document.getTaggedContent();
 
taggedContent.setTitle("Table example - THead, TBody, TFoot; Summary");
taggedContent.setLanguage("en-US");
StructureElement rootElement = taggedContent.getRootElement();
 
TableElement tableElement = taggedContent.createTableElement();
rootElement.appendChild(tableElement);
TableTHeadElement tableTHeadElement = tableElement.createTHead();
TableTBodyElement tableTBodyElement = tableElement.createTBody();
TableTFootElement tableTFootElement = tableElement.createTFoot();
int rowCount = 7;
int colCount = 3;
int rowIndex;
int colIndex;
TableTRElement headTrElement = tableTHeadElement.createTR();
headTrElement.setAlternativeText("Head Row");
for (colIndex = 0; colIndex < colCount; colIndex++)
{
    TableTHElement thElement = headTrElement.createTH();
    thElement.setText("Head Cell [head row, "+colIndex+"  ]");
}
for (rowIndex = 0; rowIndex < rowCount; rowIndex++)
{
    TableTRElement trElement = tableTBodyElement.createTR();
    trElement.setAlternativeText("Row "+rowIndex);
    for (colIndex = 0; colIndex < colCount; colIndex++)
    {
        TableTDElement tdElement = trElement.createTD();
        tdElement.setText("Cell ["+rowIndex+", "+colIndex+"]");
    }
}
TableTRElement footTrElement = tableTFootElement.createTR();
footTrElement.setAlternativeText("Foot Row");
for (colIndex = 0; colIndex < colCount; colIndex++)
{
    TableTDElement tdElement = footTrElement.createTD();
    tdElement.setText("Foot Cell [foot row, "+colIndex+"]");
}
 
StructureAttributes tableAttributes = tableElement.getAttributes().getAttributes(AttributeOwnerStandard.Table);
StructureAttribute summaryAttribute = new StructureAttribute(AttributeKey.Summary);
summaryAttribute.setStringValue("The summary text for table");
tableAttributes.setAttribute(summaryAttribute);
// Save document
document.save(dataDir+"TaggedTable_"+version+".pdf");
boolean isPdfUaCompliance = document.validate(new ByteArrayOutputStream(), PdfFormat.PDF_UA_1);
System.out.println("PDF/UA compliance: "+ isPdfUaCompliance);

*想要购买Aspose正版授权的朋友可以联系慧都客服哦~


ASPOSE技术交流QQ群(642018183)已开通,各类资源及时分享,欢迎交流讨论!

扫描关注“慧聚IT”微信公众号,及时获取更多产品最新动态及最新资讯

1562572142.jpg




标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果

登录 慧都网发表评论


暂无评论...

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关厂商
相关产品
Aspose.PDF

PDF文档创建组件,无需Adobe Acrobat,也可以在任何平台上操作PDF文档。

在线客服 在线QQ 电话咨询
400-700-1020
反馈
在线客服系统
live chat