[使用Java Apache PDFBOX添加HTML标记

问题描述 投票:0回答:1

我一直在使用PDFBOX和EasyTable,它扩展了PDFBOX以绘制数据表。我遇到一个问题,即我有一个带有HTML数据字符串的Java对象,需要使用PDFBOX将其添加到PDF。仔细阅读文档似乎没有取得任何成果。

下面的代码是一个片段问候世界,我希望在pdf上生成具有H1格式的代码。

// Create a document and add a page to it
        PDDocument document = new PDDocument();
        PDPage page = new PDPage();
        document.addPage( page );

// Create a new font object selecting one of the PDF base fonts
        PDFont font = PDType1Font.HELVETICA_BOLD;

// Start a new content stream which will "hold" the to be created content
        PDPageContentStream contentStream = new PDPageContentStream(document, page);

// Define a text content stream using the selected font, moving the cursor and drawing the text "Hello World"
        contentStream.beginText();
        contentStream.setFont( font, 12 );
        contentStream.moveTextPositionByAmount( 100, 700 );
        contentStream.drawString( "<h1>HelloWorld</h1>" );
        contentStream.endText();

// Make sure that the content stream is closed:
        contentStream.close();

// Save the results and ensure that the document is properly closed:
        document.save( "Hello World.pdf");
        document.close();

    }
java spring-boot pdfbox
1个回答
0
投票

PDFBox不知道HTML,至少不了解内容。

因此,您必须自己解析HTML并从文本标记所在的文本中派生特殊的文本绘制特征。

E.g。当遇到"<h1>HelloWorld</h1>"时,您必须提取文本"HelloWorld"并使用h1标记中的信息来选择适当的主要标头字体和字体大小以绘制"HelloWorld"

© www.soinside.com 2019 - 2024. All rights reserved.