繁体   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