2011-10-18 41 views
0

问题:插入图像转换成PDF使用XDP

我想要得到的图像上使用XDP文件生成的PDF显示。

什么我目前正在:

我有一个从PDF导出的文件XDP。我有一个带有“my_image”标签的文本框。以下是我用于对作为“my_image”标记的值插入的字符串进行编码的代码。

var bytes = System.IO.File.ReadAllBytes(@"C:\image.jpg"); 
var data = Convert.ToBase64String(bytes); 

当我使用XDP启动PDF时,图像不显示,只是Base64编码的字符串值。

任何想法?

回答

1

我在LiveCycle Designer中做了一个简单的PDF,其中一个Image Field叫做ImageField1。我用几乎相同的代码为你打造base64编码图像,除了我包括行包应该在技术上并不需要:

var testImage = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "Untitled.png"); 
var bytes = System.IO.File.ReadAllBytes(testImage); 
var data = Convert.ToBase64String(bytes, Base64FormattingOptions.InsertLineBreaks); 

总之这是我的XDP文件,与我的简单的PDF工作。我知道它不是一个完整的答案,但希望你能比较一下你的代码对我有用。

<?xml version="1.0" encoding="UTF-8"?> 
<?xfa generator="XFA2_4" APIVersion="3.0.11111.0"?> 
<xdp:xdp xmlns:xdp="http://ns.adobe.com/xdp/"> 
<xfa:datasets xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/" 
><xfa:data 
><topmostSubform 
><ImageField1 xfa:contentType="image/png" href="" 
>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</ImageField1 
></topmostSubform 
></xfa:data 
></xfa:datasets 
> 
<pdf href="Untitled1_distributed.pdf" xmlns="http://ns.adobe.com/xdp/pdf/" 
/></xdp:xdp> 
+0

是否需要LiveCycle Designer才能添加ImageField?这似乎是问题,我只是使用一个正常的领域。 – strickland

+0

我并不太熟悉XDP,但使用LiveCycle是我实际上可以创建PDF的一种方式,Acrobat会接受XDP作为导入源。 –

+0

使用LiveCycle我可以成功地将ImageField添加到现有的PDF中,并使用它显示的字节填充标签。然而,我仍然没有想出如何处理这种常规形式。 – strickland