示例演示:Aspose.PDF for Java最新版v19.8新功能——在標記PDF中實現表格支持

Aspose.PDF for Java是一種快速,輕量級的PDF處理控件,無需使用Adobe Acrobat便可生成,修改,轉換,渲染,保護和打印PDF文檔。同時支持使用PDF,XFA,TXT,HTML,PCL,XML,XPS和圖像文件格式。安全

Aspose.PDF for Java(點擊下載)提供PDF壓縮選項,表格建立和操做,圖形支持,圖像功能,普遍的超連接功能,擴展的安全控制和自定義字體處理。此外,開發人員能夠經過其API或XML模板直接建立PDF文檔,並能夠建立表單或管理PDF文檔中嵌入的表單域。app

Aspose.PDF for Java更新至v19.8,新增在標記PDF中實現表格支持,支持在單個頁面中渲染全部內容,修復HTML到PDF沒法解析引起的URL異常等問題。字體

新增功能演示

PDF / UA:在標記PDF中實現表格支持spa

使用ITaggedContent接口的createTableElement()方法建立表。要爲表建立Head,Body和Foot,請使用TableElement對象的createTHead(),createTBody()和createTFoot()方法。orm

抽象類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);
相關文章
相關標籤/搜索