我想在Java中生成一个XFDF邮票注释,其中包含一个透明的图像。我很难识别存储图像的格式,以及如何将输入的图像转换为该格式。
到目前为止我知道
我有一个包含图像的XFDF示例,当我解码图像时,我看到了这样的语法,但遗憾的是,我不知道标记中存在什么样的原始数据。
<DICT KEY="AP">
<STREAM KEY="N">
<ARRAY KEY="BBox">
<FIXED VAL="250"/>
<FIXED VAL="550"/>
<FIXED VAL="400"/>
<FIXED VAL="575"/>
</ARRAY>
<INT KEY="FormType" VAL="1"/>
<INT KEY="Length" VAL="35"/>
<DICT KEY="Resources">
<DICT KEY="XObject">
<STREAM KEY="Im1">
<INT KEY="BitsPerComponent" VAL="8"/>
<NAME KEY="ColorSpace" VAL="DeviceRGB"/>
<NAME KEY="Filter" VAL="FlateDecode"/>
<INT KEY="Height" VAL="150"/>
<INT KEY="Length" VAL="1907"/>
<STREAM KEY="SMask">
<INT KEY="BitsPerComponent" VAL="8"/>
<NAME KEY="ColorSpace" VAL="DeviceGray"/>
<NAME KEY="Filter" VAL="FlateDecode"/>
<INT KEY="Height" VAL="150"/>
<INT KEY="Length" VAL="5690"/>
<NAME KEY="Subtype" VAL="Image"/>
<NAME KEY="Type" VAL="XObject"/>
<INT KEY="Width" VAL="300"/>
<DATA MODE="RAW" ENCODING="HEX">在PDFBox的帮助下,我在PDF中创建了一个带有自定义图像的橡皮图章注释,但遗憾的是,PDFBox似乎不支持将这种注释导出到XFDF,它们只支持从表单导出(AcroForm)。我不知道Java中有任何其他工具允许我导出它,除了付费的工具。
发布于 2016-10-06 15:51:40
它是DCT格式(JPEG)的HEX表示。如果您想要一个透明的图像标记,那么您的XFDF中将有两个这样的东西,即图像本身和掩码。
发布于 2016-10-27 07:02:25
XFDF规范并不解释这些dict标记的用途。我猜他们遗漏了信息的一个关键部分。
这个线程为我节省了时间来弄清楚为什么最终的基64图像没有导入Acrobat。因此,它是XOjbect的XML。
也许杂技PDF规格提到了这一点。
发布于 2020-04-22 16:27:35
添加一个如下所示的集邮元素:
<stamp creationdate="D:20200422160322Z" flags="print" date="D:20200422160322Z" icon="Unknown" page="0" rect="276.675,778.525,318.325,841">
<imagedata>data:image/png;base64,iVBORw0 . . . FTkSuQmCC</imagedata>
<apref y="841" x="276.675" gennum="2" objnum="198" />
</stamp>https://stackoverflow.com/questions/39891078
复制相似问题