簡體   English   中英

在渲染的pdf上繪圖-Swing

[英]Drawing on a rendered pdf - Swing

對缺乏免費軟件直接繪制到pdf感到非常惱火之后,我決定自己編寫。

我的目標是通過在GUI中放置某種畫布小部件並在其下方顯示pdf的內容,並記錄(並渲染)繪制在屏幕上的所有內容,並在保存文件時將繪制的所有內容保存為.png( (具有透明背景)並將其覆蓋到.pdf上。

我已經寫了用於覆蓋pdf的內容(使用iText),但是不確定如何處理GUI內容。 如何呈現pdf文件? 我已經看到了一種方法,其中涉及將.pdf的頁面轉換為圖像(PDF渲染器)並在Swing中將其刪除,但是我想這會帶來分辨率問題(縮放)。

我的另一個想法是使用JPedal的Viewer小部件在一個swing元素中呈現.pdf,但是我不確定如何設置畫布。

那么,我應該如何處理呢?
接口的一般結構應該是什么?
我沒有嘗試過這些選項中的任何一個(我仍在研究它們的庫接口)。 我想盡早尋求建議(因為它是關於程序的基本結構的)。

渲染PDF非常復雜。 我們開發了ABCpdf,我想我們可能僅在渲染方面就花了40個人年的時間。

因此,如果要執行此操作,則應從限制需要執行的操作開始。 您需要確保您的PDF來自使用一組受限功能的統一來源,或者您需要接受許多PDF無法正確呈現的情況。

接下來,您需要解壓縮頁面內容流,然后將其分解為PDF運算符。 然后創建一個System.Drawing.Bitmap或類似文件,並使用每個PDF繪圖運算符在該繪圖面上進行繪制。 您可以在Adobe網站上的PDF規范中找到運算符的完整詳細信息。

只要您的PDF來源是一致,簡單和統一的,您可能會在幾周內得到一些明智的信息。 快樂的編碼:-)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM