1

我正在使用 ITextSharp 和 PowerShell 创建 PDF 文档。

我希望能够加载一个现有的模板 PDF 文件,该文件最好有占位符,然后用我提供的值替换占位符。

然后我想将带有更改的文档保存为新的 PDF。

这可能吗?

现在这是我用于创建 PDF 的代码

[System.Reflection.Assembly]::LoadFrom("c:\\itextsharp.dll")
[void][iTextSharp.text.pdf.PdfWriter]::GetInstance($Doc, [System.IO.File]::Create("c:\existing.pdf") )
# Need to edit $Doc (replace values, add elements) then save as new file
$Doc.Close()

任何帮助表示赞赏。

谢谢,安德鲁

4

1 回答 1

2

您将使用该AcroFields.SetFields方法在可填写的 PDF 表单的每个字段中指定所需的值:

[System.Reflection.Assembly]::LoadFrom($iTextSharpLibFullname)

$reader = New-Object iTextSharp.text.pdf.PdfReader($templateFileFullname)

$stamper = New-Object iTextSharp.text.pdf.PdfStamper($reader, 
                                                     [System.IO.File]::Create($outputFileFullname)) 

$stamper.AcroFields.SetField('Field1_Name', 'Field1_Value')
$stamper.AcroFields.SetField('Field2_Name', 'Field2_Value')
#etc. for each field in your form...     

$stamper.Close()

其中:
$iTextSharpLibFullname是对 iTextSharp.dll 的引用
$templateFileFullname是您的可填写 PDF 模板
$outputFileFullname的名称 表单是您将创建的 PDF 的名称

于 2013-01-30T06:53:54.353 回答