当前位置: 首页 > 面试题库 >

如何使用PDFBox居中文本

纪辰沛
2023-03-14
问题内容

我的问题很简单:如何使用来将文本放在PDF上居中PDFBox

我事先不知道字符串,我无法通过试用找到中间的字符串。字符串的宽度并不总是相同。

我需要:

  • 一种可以使文本居中的方法,例如 addCenteredString(myString)
  • 一种可以给我像素宽度的字符串的方法。然后,我可以计算出中心,因为我知道PDF的尺寸。

欢迎任何帮助!


问题答案:

好的,我自己找到了答案。这是在页面上居中放置文本的方法:

String title = "This is my wonderful title!"; // Or whatever title you want.
int marginTop = 30; // Or whatever margin you want.

PDDocument document = new PDDocument();
PDPage page = new PDPage()
PDPageStreamContent stream = new PDPageContentStream(document, page);
PDFont font = PDType1Font.HELVETICA_BOLD; // Or whatever font you want.

int fontSize = 16; // Or whatever font size you want.
float titleWidth = font.getStringWidth(title) / 1000 * fontSize;
float titleHeight = font.getFontDescriptor().getFontBoundingBox().getHeight() / 1000 * fontSize;

stream.beginText();
stream.setFont(font, fontSize);
stream.moveTextPositionByAmount((page.getMediaBox().getWidth() - titleWidth) / 2, page.getMediaBox().getHeight() - marginTop - titleheight);
stream.drawString(title);
stream.endText();
stream.close();


 类似资料:
  • 问题内容: 我有一个包含文本的div元素,并且我想将此div的内容垂直居中对齐。 这是我的div样式: 做这个的最好方式是什么? 问题答案: 您可以尝试以下基本方法: 但是,它仅适用于一行文本,因为我们将行的高度设置为与包含框元素相同的高度。 更通用的方法 这是垂直对齐文本的另一种方法。此解决方案适用于一行和多行文本,但仍需要一个固定高度的容器: CSS只是通过设置的line-height等于其高

  • 我目前正在尝试用PDFBox生成一些手动封面的PDF,我想知道是否有可能在我的PDF中获取一个精确的文本区域并根据我的曼努埃尔厚度将其移动(向左)(这将由我的手册将有的页数决定) 我很好地创建了我的PDF文件,但我没有找到一种只获取一块文本的方法。 是否可以使用PDFBox这样做? 注意:我试着在网上和其他问题上搜索,但没有一个有用。 谢啦

  • 我正在尝试缩放pdf文件,就像复印机中的缩放功能一样,它可以按百分比缩放文档(如下所示:https://inspectapedia.com/graphics/Safari_Page_Setup.jpg),我正在使用pdfbox管理我的pdf文件。我尝试过这个代码,但为什么它不起作用?代码中没有错误。 有人知道为什么该代码不起作用吗? 编辑 我需要它在API 16上工作

  • 我使用Apache pdfbox来提取文本。我可以从pdf中提取文本,但我不知道如何知道这个词是否加粗???(代码建议很好!!!)下面是从pdf中提取纯文本的代码,效果很好。

  • 问题内容: 如何在ReactNative中水平和垂直居中放置文本? 我在rnplay.org中有一个示例应用程序,其中 justifyContent =“ center” 和 alignItems =“ center” 不起作用:https : **//rnplay.org/apps/AoxNKQ** 文本应居中。为什么在文本(黄色)和父容器之间的顶部留有空白? 码: 问题答案: 从‘样式删除,和

  • 问题内容: 我想使用Apache PDFBox从给定的PDF文件中提取文本。 我写了这段代码: 但是,出现以下错误: 我在类路径中添加了pdfbox-1.8.5.jar和fontbox-1.8.5.jar。 编辑 我添加到程序的开头。 我运行了它,然后出现了与上述相同的错误,并且未出现在控制台中。 因此,我认为我对类路径或其他东西有疑问。 谢谢。 问题答案: 我执行了您的代码,它工作正常。也许您的