使用iTextSharp检查PDF文档中的文本是否为粗体的方法有哪些

使用iTextSharp检查PDF文档中的文本是否为粗体的方法有哪些,pdf,fonts,itextsharp,Pdf,Fonts,Itextsharp,我有一个应用程序,可以从pdf文件中提取标题。应用程序应该使用的文档都或多或少具有连贯的结构和格式,事实上,判断文本块是否为粗体非常重要。最近我遇到了一堆文件,其中一些块在视觉上显示为粗体,但在字体的字符串表示中没有粗体。下面的SO线程帮助我理解,还有一种方法可以使文本显示为粗体。然而,在我的例子中,调用getTextEnderMode也没有帮助,因为它返回0,就像它是普通文本一样。那么,还有其他方法可以使文本显示为粗体,并且可以使用iTextSharp检测到它吗?您假设PDF文件中的字体知道它

我有一个应用程序,可以从pdf文件中提取标题。应用程序应该使用的文档都或多或少具有连贯的结构和格式,事实上,判断文本块是否为粗体非常重要。最近我遇到了一堆文件,其中一些块在视觉上显示为粗体,但在字体的字符串表示中没有粗体。下面的SO线程帮助我理解,还有一种方法可以使文本显示为粗体。然而,在我的例子中,调用getTextEnderMode也没有帮助,因为它返回0,就像它是普通文本一样。那么,还有其他方法可以使文本显示为粗体,并且可以使用iTextSharp检测到它吗?

您假设PDF文件中的字体知道它是否粗体。让我们看一看里面,看看你的假设是否正确。< /P> 这是字体TT116t00的子集JOJJAH在查看共享的PDF文件内部时的样子:

我们看到字体是subtye/TrueType,我们看到/ItalicAngle是0,并且。。。我们看到设置了/Flags的第3位。让我们查看PDF参考资料,了解它告诉我们什么:

我引述:

字体包含Adobe标准拉丁字符集之外的字形

图示符看起来粗体,因为图示符以粗体的方式绘制。你看到的字体是粗体的,因为你是人类。然而,当机器查看字体时,它并不知道字体是否粗体。机器只需遵循/FontFile2流中存储的指令


简而言之:iTextSharp没有任何显示字体为粗体。

请共享有问题的PDF以供分析。还有其他方法可以使字形显示为粗体,例如,使用小偏移量进行双重打印。单页,可以很好地了解我所写的内容:。有两个标题,以粗体显示,但字体名称如下JOJJAH+TT116t00,getExtrenderMode对这两个标题的所有部分都返回0。非常感谢!我完全没有抓住要点,这可能是一个非标准字形的问题,看起来已经像粗体了。至少现在我确信,没有一种简单的方法可以挑出所有的东西,这看起来很大胆