我有一個應用程序,用於從pdf文件中提取標題。應用程序應該使用的文檔都具有或多或少連貫的結構和格式,事實上,告訴文本塊是否粗體非常重要。最近我遇到了一堆文件,其中一些塊可視化地顯示爲粗體,但沒有字體字符串表示形式的「粗體」部分。以下SO線程how can i get text formatting with iTextSharp幫助我理解,還有一種使文本顯示爲粗體的方法。然而在我的情況下調用GetTextRenderMode()也沒有幫助,因爲它返回0就好像它是普通文本一樣。那麼是否還有其他方式讓文字顯示爲粗體,並且是否可以使用iTextSharp檢測它?使用iTextSharp檢查PDF文檔中的文本片段是否使用粗體的方法是什麼
2
A
回答
4
您正在假設PDF文件中的字體知道它是否是粗體。讓我們看看裏面,並檢查你的假設是否正確。
這是什麼字體TT116t00的子集JOJJAH看起來,當你看你有共同的PDF文件的內部結構,如:
我們看到,字體subtye /TrueType
,我們看到/ItalicAngle
是0,並且...我們看到設置了/Flags
的第3位。首先我們來看看PDF參考找出這告訴我們:
我引述:
字體包含的Adobe標準拉丁字符集之外的字形。
字形看起來粗體,因爲字形的繪製方式是粗體。你看到字體粗體,因爲你是人。但是,當一臺機器查看字體時,它不知道字體爲粗體。一臺機器只需遵循存儲在/FontFile2
流中的說明。
總之:iTextSharp沒有任何跡象表明字體是粗體。
+1
非常感謝!我完全錯過了這一點,它可能是非標準字形的問題,已經看起來像大膽。至少現在我確信,沒有簡單的方法來挑選出所有的東西,那些看起來像是大膽的 – user2082616 2015-01-21 13:44:58
相關問題
- 1. 檢查Word文檔中的特定單詞是否爲粗體?
- 2. 檢測文本是否爲粗體
- 3. 是否有直接的方式來使用iTextSharp將一個PDF文檔附加到另一個PDF文檔?
- 4. 爲什麼OOXML文本不是粗體?
- 5. 如何檢查PDF文件是否使用嵌入字體?
- 6. 如何檢查文檔是否爲有效的PDF文檔
- 7. 在iTextSharp中使用富文本值粗體
- 8. selenium:如何檢查一些文本是否爲粗體
- 9. 什麼是檢查mongodb文檔存在的最快方法?
- 10. 使用itextsharp將文本添加到PDF文檔
- 11. 檢查使用貓鼬是否存在於mongodb中的文檔
- 12. 如何使用ITextSharp驗證pdf是基於文本的?
- 13. 檢查Swift中NSFont是否爲粗體
- 14. nwjs是否有方法檢查是否使用sdk版本?
- 15. 什麼是使用C#在XML文檔中查找特定值的好方法?
- 16. 如何使用iTextSharp從PDF文檔中的字段確定字段類型?
- 17. 使用range.find查找粗體文本時,它不會查找整個選擇是否爲粗體!
- 18. 檢查用戶是否可以上傳文件的最佳方法是什麼?
- 19. 檢查字段是否使用@Formula鍵入富文本
- 20. 什麼是檢查Excel OLE是否可用的正確方法?
- 21. 是否可以使用javascript隱藏PDF文檔中的頁面?
- 22. iTextSharp的PDF文檔屬性
- 23. 是否可以使用Perl讀取pdf文件中的文本?
- 24. 檢查輸入的文本是否僅使用英文字母
- 25. 檢查對象(文檔)是否存在於MongoDB中(使用Jongo)
- 26. 什麼是檢查用戶是否有權訪問實體的最佳方法
- 27. 使用junit檢查輸出是否穩定的最佳方法是什麼?
- 28. 什麼是使用PHP檢查圖像是否唯一的好方法?
- 29. 使用javascript製作文檔對象副本的最簡單方法是什麼
- 30. 如何檢查插入點是粗體文本還是普通文本
請分享有問題的PDF文件進行分析。還有其他方法可以使字形顯示爲粗體,例如以微小的偏移量進行雙面打印。 – mkl 2015-01-21 11:11:06
一個單獨的頁面,可以很好地瞭解我寫的內容:https://www.dropbox.com/sh/thhbp3qy8hpybxe/AABJtS5UkXE32V_kBFu_uPQea?dl=0。有兩個標題顯示爲粗體,但字體名稱如下所示:「JOJJAH + TT116t00」,GetTextRenderMode()對於所有這兩個塊都返回0。 – user2082616 2015-01-21 11:59:00