aspose.pdf解析pdf时,存在串位情况,我们目前想调用此服务解析pdf后,存到结构化数据库中,然后在demo测试时发现此问题,请问如何解决?
1/ 第二页 串行
6a14248aa97aff2b37f2d8ba706a46b0.jpg (102.3 KB)
2、 字段串行
image.jpg (78.1 KB)
aspose.pdf解析pdf时,存在串位情况,我们目前想调用此服务解析pdf后,存到结构化数据库中,然后在demo测试时发现此问题,请问如何解决?
1/ 第二页 串行
6a14248aa97aff2b37f2d8ba706a46b0.jpg (102.3 KB)
2、 字段串行
image.jpg (78.1 KB)
@feng.qun.zhu.avaryholding.com
概要
在使用 Aspose.PDF 将 PDF 解析后写入结构化库时,出现文字或字段位置错位(“串位”)的现象,通常是因为 PDF 中使用的字体在解析环境中不可用,Aspose.PDF 会回退到默认字体,从而导致坐标和字符宽度变化。
可能原因
解决思路
// 将 PDF 转为 HTML,指定默认字体(该字体需已安装)
Document doc = new Document(new ByteArrayInputStream(pdfData));
HtmlSaveOptions htmlOpts = new HtmlSaveOptions();
htmlOpts.setPartsEmbeddingMode(HtmlSaveOptions.PartsEmbeddingModes.EmbedAllIntoHtml);
// 通过设置 DefaultFontName 来指定回退字体(如果 PDF 中缺失字体)
// htmlOpts.setDefaultFontName("Arial"); // 示例,实际字体请根据 PDF 使用情况选择
doc.save("output.html", htmlOpts);
后续
按照上述步骤检查并补齐缺失字体、在 HtmlSaveOptions 中显式指定默认字体后,通常可以消除因字体回退导致的文字/字段错位。如果问题仍未解决,请提供上述诊断信息,以便进一步定位根因。
@feng.qun.zhu.avaryholding.com
您是否使用的是最新版本的API?如果该问题在最新版本中仍然存在,请提供您的示例PDF文档以及示例代码片段。我们将在我们的环境中测试该场景并相应地解决问题。