我使用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()
感谢任何帮助。
谢谢, 安德鲁
答案 0 :(得分: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的名称