我試圖從PDF的特定部分刪除文本。如果我知道該區域的X,Y座標,我可以刪除文本。但是我無法從PDF中獲得所選區域的座標。請幫助我。使用itext從pdf獲取所選區域的座標
回答
這個問題是你的前一個問題的後續:Remove text occurrences contained in a specified area with iText
在這個問題上,你問從特定區域刪除內容。現在您正在詢問如何確定這個特定區域,但您的問題並不完整:您沒有告訴我們選擇該區域的任何標準。
看來你正在嘗試做一些被稱爲編校的事情。這在StackOverflow問題中有解釋:How to create and apply redactions?
在對這個問題的回答中,我解釋瞭如何以編程方式創建編校註釋。然而,新版本通常是手工完成,使用Adobe Acrobat:
的箭頭顯示您需要的功能:工具>保護>標記爲密文
如果您只需要座標,並沒有新版本註解,你可以引入另一個註解,允許你手動標記一個矩形,然後使用iText來提取座標。例如:如果矩形是一個表單域,那麼獲取座標真的很容易。如果您要刪除的內容是表單字段的值,那麼刪除該內容甚至更容易:您只需刪除該字段。
如果沒有辦法手動檢索這些座標,那麼您可能面臨的是不可能的事情:例如:如果您不知道要刪除的區域的內容,你要教一個程序它需要刪除什麼?
如果您確實知道要查找哪些內容,則必須解析該內容。這個問題已經被問和回答之前:Get the exact Stringposition in PDF
更新:
在評論,你解釋你的PDF頁面轉換爲圖像,你渲染圖像在Java Swing應用程序,以便用戶可以選擇一個矩形。這個矩形存儲爲java.awt.Image
。
由於Java中的座標系與PDF中的座標系不同,導致以下潛在問題。
- Y軸是不同的:在PDF,網頁的大小,我們稱之爲頁邊界矩形描述。最重要的頁面邊界是MediaBox(強制)和CropBox(可選)。 MediaBox包含定義頁面的矩形的左下角和右上角的座標。在座標系中,Y軸向上指向。左下角的Y座標低於右上角的Y座標。在Java中,反過來:對象頂部的Y座標爲0,Y軸向下指向:Y值越高,此Y值處的對象越低。
- 可能存在偏移:在大多數情況下,MediaBox的左下角的座標爲X = 0,Y = 0。但情況並非總是如此。可能有必要考慮抵消。
- 分辨率可以不同:默認用戶單位對應一個點。例如:一個A4頁面通過842個用戶單位測量595個。每英寸有72點。當你創建一個圖片時,你不一定要用點來衡量。也許你測量像素。也許你創建一個每英寸300像素(300 dpi)的圖像。
所有這些原因都可能導致您從Swing應用獲得的矩形與您在PDF中需要使用的座標不同。你需要把所有這些都考慮進去,否則,你會繼續面對你「這不行」的問題。這不是一個iText問題,這是一個數學問題。
我紅色的pdf到特定區域的jframe和繪製的矩形,無論我想要使用鼠標事件刪除並得到了矩形座標。基於這個座標我刪除了實際的pdf文本,但其內容沒有刪除,請給我建議我誤解了。 – amar
如何將PDF讀入JFrame(哪個工具?)以及座標的性質(使用哪個座標系)?如果您使用這些座標在PDF上繪製矩形,您會看到那個矩形?否則,您的座標是錯誤的,因爲它們不是PDF座標系中的座標。你最大的錯誤是你提出的問題不具體。 –
我將pdf頁面轉換爲圖像,並將該圖像添加到jframe中,並使用paint方法從該jframe中選擇區域,然後獲取java.awt.Rectangle。 – amar
- 1. Itext從現有的pdf中獲取字段座標
- 2. 使用iText從PDF座標中提取圖像
- 3. 獲取要用作roipoly參數的所需區域的座標
- 4. Java:如何使用iText從PDF文件中選擇區域提取文本?
- 5. 獲取某個區域內的座標
- 6. iframe獲取所選區域
- 7. 獲取區域內的座標座標 - Google地圖
- 8. 獲取圖像特定區域的所有多邊形座標?
- 9. 從選定區域或座標中提取PDF文本和圖像
- 10. 如何使用座標獲取當前區域名稱?
- 11. 通過座標提取PDF頁面的區域
- 12. 獲取所選區域的尺寸
- 13. 從itext讀取pdf
- 14. 查找所選矩形的座標pdf
- 15. 使用iText的pdf文件中元素的座標
- 16. 從pdf中提取區域
- 17. 從DBpedia獲取以色列的所有住區座標
- 18. 從Lat長座標獲取時區?
- 19. 使用html dom解析器獲取區域的所有標題
- 20. 座標在區域標記
- 21. PDFBox的PDFTextStripperByArea區域座標
- 22. 如何在html5畫布中獲取特定區域或區域的座標?
- 23. 獲取圖像中所有的x,預定區域的y座標
- 24. 檢查所選區域中是否有座標
- 25. 獲取KML中定義的多邊形區域的座標
- 26. 如何使用iText從PDF文件獲取所有字段和值?
- 27. 從IText流讀取Aspose pdf
- 28. 使用iText從pdf文件獲取文本字體
- 29. 獲取iPad上接觸區域的極端點座標
- 30. 獲取組件可見區域的全局座標
問題並不清楚,因爲它說「我無法獲得所選區域的座標」,但它沒有告訴我們有關選擇標準的任何信息。選擇是手動完成的嗎?選擇是基於註釋的位置嗎?選擇是基於某些特定內容的發生嗎?這個問題需要澄清。它可能是一個重複的http://stackoverflow.com/questions/13632541/get-the-exact-stringposition-in-pdf –