我正在使用iText的LocationTextExtractionStrategy類在PDF中查找特殊字符,該工具似乎正在工作。我得到一個iText向量,如94.5,698.9,1.0(來自getStartLocation())和100.5,698.9,1.0(來自getEndLocation)。我想知道這個位置是什麼,表示爲相對於頁面的百分比。目標是將PDF頁面導出爲圖像,並將其用於網頁上的div,並使用另一個div作爲覆蓋(半透明)來突出顯示該區域。例如,我可以找到一個人的名字,後面跟着特殊字符。我想把一個div放在特殊字符所在的那個位置上。由於我有iText矢量,如果我可以以某種方式將其轉換爲與PDF頁面相關的百分比,那麼我可以將該信息翻譯爲在div上使用。例如,頂部25.125%,左側30.55% - 如果位置偏離標記幾個像素,這是可以的,因爲我只是想突出顯示一般區域(垂直或水平給定或佔用大約5個像素)。如何將iText位置矢量轉換爲頁面上的相對位置,以百分比形式顯示
回答
leftPercent = (location.getEndLocation().get(0)/pageWidth) *100,
topPercent = ((pageHeight - location.getEndLocation().get(1))/pageHeight) *100
如果你有8.5英寸(寬)由11英寸(高)文件,則如果特殊字符是在矢量152,594,1.0然後方程將計算如下
leftPercent = (152/612) *100 = 25%
和 topPercent = ((792 - 594)/792) *100 = 25%
在我的測試案例中,我故意將特殊字符從頂部放置25%,從左側放置25%。
我提高了你的答案,但我想澄清你的解決方案只有在頁面左下角的座標爲0,0(所有PDF都應該假定的)時纔是正確的。 –
此外,您應該檢查哪個頁面用於*將PDF頁面導出爲圖像*:它是否是媒體框?還是莊稼盒?或其他一些領域?取決於圖像左下角的座標及其高度和寬度可能會有所不同。 – mkl
@mkl不確定你的意思。每個頁面都應該是一個單獨的圖像,並以與文檔外觀的完美表示相同的尺寸導出。我記錄每個頁面的座標,以便我可以分別顯示每個圖像文件,然後將上下文中的座標應用於顯示的頁面。只要尺寸相同,高度和寬度是否會發生變化並不重要,因爲從頂部的x%和從左側的y%轉換爲任何尺寸是因爲它們是相對的。我錯過了什麼嗎?謝謝! –
- 1. 如何將顯示位置從絕對位置改變爲相對位置?
- 2. 將絕對位置轉換爲相對位置
- 3. 百分比位置移動
- 4. 在jQuery中,如何以百分比設置元素的位置?
- 5. Itext:在絕對位置顯示段落
- 6. Fabric js如何設置百分比對象的位置
- 7. IE7/8可以顯示位置:位置前的相對元素:絕對位置?
- 8. 位置不能以百分比工作
- 9. 百分比寬度與位置:絕對
- 10. 如何將NSString數字轉換爲3位數百分比值?
- 11. 任意定位顯示的動畫運動:將內聯元素轉換爲位置:相對最終位置
- 12. 相對/絕對位置css(轉換面元素矩形座標)
- 13. 如何將矢量旋轉到與Z軸對齊的位置?
- 14. 如何將圖像顯示在頁面上的固定位置
- 15. 按百分比設置位置 - Android DisplayMetrics
- 16. THREE Js旋轉Y軸上的網格以面對特定的矢量位置
- 17. 將數組轉換爲百分位數
- 18. jQuery IF不適用於位置相對+百分比值
- 19. 將屏幕位置轉換爲等比例縮放比例的位置
- 20. 如何將屏幕位置轉換爲等距位置
- 21. 與百分比的css位置
- 22. iText在相對位置創建按鈕
- 23. iText:在PDF頁面上重新對齊文本位置
- 24. INetC ::從ftp位置獲取不顯示下載百分比
- 25. JavaScript - 如何設置百分比按鈕的寬度/位置?
- 26. 固定的位置,像位置相對(與頁面滾動)
- 27. 以百分比形式使用高度時div的位置不正確
- 28. 相對於頁面的位置元素
- 29. 以百分比形式設置的對象高度
- 30. 在IE7中相對位置絕對位置頂部顯示?
距離左側相對距離的計算是'location.getEndLocation()。get(0)/ pageWidth)* 100'從上面的相對位置的計算仍然沒有我。 –
明白了。由於PDF位置從左下角開始,所以必須從高度減去頂點:'((pageHeight - location.getEndLocation()。get(1))/ pageHeight)* 100' –