标签: xfa

使用iText(iTextSharp)填充PDF中的XFA表单字段?

我需要在PDF中填充XFA表单字段(使用Adobe LiveCycle Designer创建).我们正在尝试使用iText(实际上是带有C#的iTextSharp)来解析PDF,填充XFA字段,然后将修改后的PDF保存回来.

我可以通过iText找到的所有示例(很少有iTextSharp示例)讨论修改AcroForm字段.此PDF没有AcroForm字段,仅使用XFA.

指向任何非标准资源的指针都会有所帮助(我已经完成了关于该主题的必要谷歌搜索并且没有找到任何有用的资源).

这里的代码示例对于任何实际完成我正在尝试的人来说都是非常棒的.

c# pdf itext xfa

16
推荐指数
3
解决办法
2万
查看次数

创建XFA表单并将其嵌入到常规PDF中

我有一个不包含XFA数据的PDF.我想要做的是,以编程方式创建一个XFA表单模板(不是使用Adobe LiveCycle或类似的程序),然后将其嵌入到PDF中,然后填写XFA表单.

这可能吗?或者我必须使用Adobe LiveCycle?

编辑

http://en.wikipedia.org/wiki/XFA#Profiles在此Wiki链接中说明如下:

XFAF(XFA前景)子集 - (在XFA 2.5中引入) - 一种表单,其中XFA表单的每个页面都覆盖PDF背景.它只能用于静态XFA表单.此体系结构仅使用XFA的子集.它可以打包在常规PDF文档中,也可以打包为带有嵌入式PDF的独立XDP文件.在XFAF中,每个XFA字段对应于PDF交互字段(AcroForm字段).

所以我相信,我的要求是可能的,但目前我不知道如何......

pdf pdf-generation itext xfa

12
推荐指数
1
解决办法
1009
查看次数

从PDF中提取xdp或xfa

我用Adobe LiveCycle Designer创建了一个PDF表单.我现在正努力在PDF填写后以编程方式从PDF中提取数据.

我尝试使用poppler(qt4绑定,但我想这没关系),但显然poppler无法处理XFA表单.虽然evince和okular能够显示表单......

据我了解,PDF包含一个XDP,而XDP又包含XFA表单.我的问题是,如何从PDF中提取数据?

如果有库,c ++,java,python或PHP是我的选择.

pdf adobe xfa xdp-pdf

7
推荐指数
1
解决办法
2737
查看次数

如何获取XFA表单中的字段列表?

我正在尝试获取我的XFA表单中所有字段的简单列表.我正在使用此代码:

private void ListFieldNames()
{
    string pdfTemplate = @"C:\Projects\iTextSharp\SReport.pdf";
    MemoryStream m = new MemoryStream();

    // title the form
    this.Text += " - " + pdfTemplate;

    // create a new PDF reader based on the PDF template document
    PdfReader pdfReader = new PdfReader(pdfTemplate);
    PdfStamper pdfStamper = new PdfStamper(pdfReader, m);
    AcroFields formFields = pdfStamper.AcroFields;        
    AcroFields form = pdfReader.AcroFields;
    XfaForm xfa = form.Xfa;
    StringBuilder sb = new StringBuilder();
    sb.Append(xfa.XfaPresent ? "XFA form" : "AcroForm");
    sb.Append(Environment.NewLine);

    foreach (string key in form.Fields.Keys)
    {
        sb.Append(key);
        sb.Append(Environment.NewLine); …
Run Code Online (Sandbox Code Playgroud)

c# xfa itextsharp

6
推荐指数
1
解决办法
5133
查看次数

PDF XFA文件转换为"普通"PDF文件

我正在寻找一种将PDF XFA文件转换为普通PDF文件的方法,这些文件可以通过Imagemagick或ghostscript进行处理和/或压缩.我找到的所有选项只是删除了XFA标记,导致出现空文件.

一种方法是使用Adobe acrobat reader并通过虚拟打印机打印文件.但这不是服务器上可接受的选项.

IText也是不可选择的,因为它对于我们需要的东西太贵了.有人有想法或有更好的方法吗?

compression pdf converter xfa

6
推荐指数
1
解决办法
5883
查看次数

PDFTK无法填写在livecycle中创建的pdf表单

我在livecycle es 2中创建了一个表单,我正在尝试使用pdftk来填写表单,但它不起作用.它说它成功地填写了它但是当我尝试打开pdf它只是给我一个错误说"如果这个消息最终没有被文档的正确内容替换,你的PDF查看器可能无法显示这种类型的文献."

以下是我用来填写pdf的代码

<?php

error_reporting(E_ALL);
ini_set('display_errors', 1);

$Clicks = "567";
$Impressions = "43,434";
$Cost = "$45.44";

$fdf = '%FDF-1.2
1 0 obj<</FDF<< /Fields[
<</T(Clicks)/V('.$Clicks.')>>
<</T(Impressions)/V('.$Impressions.')>>
<</T(Cost)/V('.$Cost.')>>
] >> >>
endobj
trailer
<</Root 1 0 R>>
%%EOF';

file_put_contents('fields.fdf', $fdf);

$results = shell_exec("pdftk REPORT.pdf fill_form fields.fdf output FINAL_REPORT.pdf flatten");
Run Code Online (Sandbox Code Playgroud)

在做了一些研究之后,我发现在实时循环中创建的pdf表单是作为XFA表单而不是acroforms创建的.不确定区别是什么,但是有没有人做过类似的事情并且能够让它发挥作用.

谢谢

php xfa livecycle pdftk

6
推荐指数
1
解决办法
2988
查看次数

如何计算XFA表单中的校验和

使用Adobe软件保存XFA表单(XFA = XML Forms Architecture)时,会向表单元素添加校验和属性.这个校验和似乎是一个SHA-1摘要,但目前还不清楚实际输入到哈希的内容.有没有人知道如何生成这个?Adobe Acrobat需要此值来验证表单的XML数据中实际存在的内容,但是当我创建正在输入表单的XML哈希时,Adobe Acrobat不接受它.这个校验和属性没有记录在XFA规范中,所以我真的很感激,如果有人可以:

  1. 确认该值实际上是使用SHA-1散列算法创建的散列值?
  2. 解释应该使用哪些数据来创建此哈希.

xml forms pdf hash xfa

6
推荐指数
0
解决办法
542
查看次数

如何使用iText填写XFA表格?

码:

using (FileStream pdf = new FileStream("C:/test.pdf", FileMode.Open))
using (FileStream xml = new FileStream("C:/test.xml", FileMode.Open))
using (FileStream filledPdf = new FileStream("C:/test_f.pdf", FileMode.Create))
{
   PdfReader.unethicalreading = true;
   PdfReader pdfReader = new PdfReader(pdf);
   PdfStamper stamper = new PdfStamper(pdfReader, filledPdf);

   stamper.AcroFields.Xfa.FillXfaForm(xml);
   stamper.Close();
   pdfReader.Close();
}
Run Code Online (Sandbox Code Playgroud)

这段代码没有任何异常,一切似乎都没问题,但如果我打开填充的pdf,Adobe Reader会说出类似的话:

本文档启用了扩展功能.此文档自创建以来已更改,并且无法再使用扩展功能.

某些字段已正确填充,但我无法对其进行编辑.有些字段是空的.如果我通过单击Adobe Reader中的"导入数据"手动选择xml,表单填写正确,所以我猜xml中没有错误.

xml pdf itext xfa

4
推荐指数
1
解决办法
2289
查看次数

如何使用iTextSharp压平XFA PDF表单?

我假设我需要展平XFA表单,以便在使用Nuance的CSDK的应用程序的UI上正确显示.当我现在处理它时,我收到一条通用消息"请等待......如果此消息最终没有被替换......".

寻找一些示例iTextSharp代码来做到这一点.

pdf xfa itextsharp

2
推荐指数
1
解决办法
4984
查看次数

设置 AcroForm 值时 XFA 值最初不可见

我想自动填写双 AcroForm/XFA PDF 表单。我包含了一个 XFA 数据包,所有值都显示在 Adob​​e Reader 中。我将V=AcroForms 条目中的键设置为新值,所有值都显示为替代 PDF 阅读器。

但是,当我V=在 Adob​​e Reader 中使用 XFA 和 AcroForm条目打开 PDF 时,只有当前选择的文本字段的值可见:

仅所选字段显示文本

当 AcroForms 和 XFA 存在时,我在PDF 规范中找不到任何要设置的特殊标志的提及。我假设XFAField键的顺序可能很重要,但事实并非如此。

如何更改我的 PDF 文件,以便在启动时在 Adob​​e Reader 中以及仅支持 AcroForms 而不是 XFA 的 PDF 阅读器中可以看到这些值?

xfa pdf-form

2
推荐指数
1
解决办法
1070
查看次数

PDFBOX.如何获取所有类型的pdf表单的字段

我能够使用pdfbox获取大多数pdf文件的字段名称,但我无法获取字段所得税.它是以某种形式受限制的吗?

虽然它在表单中包含多个字段,但它只显示一个字段.

这是输出:

topmostSubform [0].

我的代码:

PDDocumentCatalog docCatalog = pdfDocument.getDocumentCatalog();
PDAcroForm acroForm = docCatalog.getAcroForm();
List fields = acroForm.getFields();

@SuppressWarnings("rawtypes")
java.util.Iterator fieldsIter = fields.iterator();
System.out.println(new Integer(fields.size()).toString());
while( fieldsIter.hasNext())
{
    PDField field = (PDField)fieldsIter.next();
    System.out.println(field.getFullyQualifiedName());
    System.out.println(field.getPartialName());
}
Run Code Online (Sandbox Code Playgroud)

用于

public static void main(String[] args) throws IOException {
    PDDocument pdDoc = null;
    try {
        pdDoc = PDDocument.load("income.pdf");
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace(); 
    }
    Ggdfgdgdgf feilds = new Ggdfgdgdgf();
    feilds.printFields(pdDoc);
}
Run Code Online (Sandbox Code Playgroud)

java pdf xfa pdfbox

2
推荐指数
1
解决办法
7950
查看次数

标签 统计

xfa ×11

pdf ×8

itext ×3

c# ×2

itextsharp ×2

xml ×2

adobe ×1

compression ×1

converter ×1

forms ×1

hash ×1

java ×1

livecycle ×1

pdf-form ×1

pdf-generation ×1

pdfbox ×1

pdftk ×1

php ×1

xdp-pdf ×1