为有中文需求的客户提供多渠道中文技术支持.

Tue Feb 21, 2023 8:46 am

您好,

我在截取文字时,碰到文件中字型为 Identity-H 编码的 TrueType (CID) 时
截取后的文本内容会变成乱码
请问如何设置才能正确的截取此编码的文本内容?

使用的代码如下:
Code: Select all
/// <summary>
/// Extracts the text.
/// </summary>
/// <param name="page">The page.</param>
/// <param name="extractArea">The extract area.</param>
/// <param name="keepWhiteSpace">if set to <c>true</c> [keep white space].</param>
/// <returns></returns>
public string ExtractText(PdfPageBase page, RectangleF extractArea, bool keepWhiteSpace = true)
{
   var options = new PdfTextExtractOptions
   {
      ExtractArea = extractArea,
      IsExtractAllText = keepWhiteSpace,
   };
   var extractor = new PdfTextExtractor(page);
   var text = extractor.ExtractText(options);

   return text. Trim();
}


附件为解析后的结果。

希望得到您的协助,谢谢。

wish98540
 
Posts: 11
Joined: Thu Feb 02, 2023 1:50 am

Tue Feb 21, 2023 9:12 am

这个得先看文档,有的文档采用Identity-H编码,且没有ToUnicode映射表,是无法提取正常的文本的。如果是这种情况就跟代码无关。

cwjjamk1
 
Posts: 1
Joined: Tue Feb 21, 2023 9:09 am

Tue Feb 21, 2023 9:37 am

感谢回复,如果没有Unicode映射表的话,应该在Adode开启文件时也应该是乱码?

这里提供部分的文档内容,是可以於Adode上检视的
截取的内容中,似乎只有中文无法正常截取
翻来翻去还是看不懂什么 ToUnicode 映射表。。。

wish98540
 
Posts: 11
Joined: Thu Feb 02, 2023 1:50 am

Wed Feb 22, 2023 2:59 am

您好,

感谢您的留言。
对于文档采用Identity-H编码,且没有ToUnicode映射表时,Adobe有自己特有的处理机制,所以渲染出来的效果是正常显示的。但是如果将其提取或者直接复制到txt文档、或者word文档中,由于word、记事本对于这些特殊编码的字体没有处理机制,那么显示出来就是乱码。

如,通过Adobe的导出功能将文本提取到txt文档中,结果中文是乱码的,如下截图:

Sincerely
Abel
E-iceblue support team
User avatar

Abel.He
 
Posts: 1010
Joined: Tue Mar 08, 2022 2:02 am

Wed Feb 22, 2023 5:39 am

您好,

感谢您的协助,我这里也同步测试了 toHTML/toDOCX/toXLSX 的转换
发现 HTML 导出后文本是会变得残破模糊的
DOCX 是乱码的
XLSX 不知道怎么的无法开启。。。

使用 adobe 也是无法正常导出的
还是希望以后能够有解析 Identity-H 编码的功能

再次感谢您的协助,谢谢。

wish98540
 
Posts: 11
Joined: Thu Feb 02, 2023 1:50 am

Wed Feb 22, 2023 7:58 am

您好,

感谢您的反馈。
根据我们开发团队的反馈(因为对于嵌入字体有多个编码映射关系,有映射Unicode的编码 如果这个编码定义了映射到Unicode ,那么即使字体本身映射字形编码是Identity-H ,那也没有用,显示的是字形 就是一个图形(path)的概念 而unicode的是字符 对于嵌入字体字符和字形不一定是正确的映射关系)。抱歉您的这个需求无法实现。

Sincerely
Abel
E-iceblue support team
User avatar

Abel.He
 
Posts: 1010
Joined: Tue Mar 08, 2022 2:02 am

Return to 中文技术支持

cron