Free Support Forum - aspose.com

PDF 添加水印 TextStamp 中文字体斜体异常

你好,pdf添加水印,如果设置中文字体斜体,就会抛异常
代码如下:
Document doc=new Document(“xxxx”);
Page page = doc.getPages().get_Item(1)
TextStamp stamp = new TextStamp(“hello”);
stamp.getTextState().setFont(FontRepository.findFont(“Microsoft JhengHei”));
stamp.getTextState().setFontStyle(FontStyles.Italic);
page.addStamp(stamp); // 此处抛异常

java.lang.ArrayIndexOutOfBoundsException: -1
at com.aspose.pdf.internal.l5t.lt.lI(Unknow Source)

我测试了下,如果是因为英文字体,比如 Arial,没问题
如果设置为粗体:FontStyles.Bold 也没问题

@wilsonsu

对于Java 20.10,我们在Aspose.PDF中使用了以下代码段,但没有发现任何问题。输出PDF也已附加。

String outPdf = dataDir + "test.pdf";
TextStamp textStamp = new TextStamp("hello");
textStamp.setHorizontalAlignment(HorizontalAlignment.Center);
textStamp.setVerticalAlignment(VerticalAlignment.Top);
textStamp.getTextState().setFont(FontRepository.findFont("Microsoft JhengHei"));
textStamp.getTextState().setFontStyle(FontStyles.Italic);

Document document = new Document();
document.getPages().add();

for (Page page : document.getPages()) {
 page.addStamp(textStamp);
}
document.save(outPdf);

test.pdf (77.5 KB)

请确保使用最新版本的API。如果问题仍然存在,请与我们分享您的样本PDF文档。我们将在我们的环境中测试该场景并相应地解决它。

抱歉,我忘了说明,我所用的版本是aspose-pdf-19.3-jdk17
我测试了下,aspose-pdf-20.10 确实OK
但是我买的license是到2019-03-26的,这个算bug吧,可以获得更新吗?

@wilsonsu

我们始终建议您使用API​​的最新可用版本,因为它包含更多的修复和改进功能。此外,针对较早版本报告的错误和问题已在API的最新版本中得以解决,因此您再次需要使用包含该修复程序的最新版本。我们也基于最新可用的API版本提供支持。

我们要求您升级到最新版本,以便可以使用较早版本中的问题进行修复,并在遇到最新版本中的任何错误时通知我们。