ITextsharp 编辑现有的 pdf
ITextsharp to edit existing pdf
我从下面下载了pdflink
我需要的是用给定的文本填充空白,我尝试了以下代码
using (FileStream outFile = new FileStream(@"E:\residence(VRO)1.pdf", FileMode.Create))
{
PdfReader pdfReader = new PdfReader(@"E:\residence(VRO).pdf");
PdfStamper pdfStamper = new PdfStamper(pdfReader, outFile);
pdfStamper.FormFlattening = true;
AcroFields af = pdfReader.AcroFields;
string[] fields = pdfStamper.AcroFields.Fields.Select(x => x.Key).ToArray();
for (int key = 0; key <= fields.Count() - 1; key++)
{
}
}
但是我没有得到这些字段,所以有人可以帮助我吗
你说的所谓表格,不是表格。即:它不是交互式形式。我拿了那个 PDF 并添加了交互字段。请下载 adapted.pdf 并检查它以发现差异。
现在,当您 运行 您的代码在上面时,您将看到这些字段,并且您将能够 使用西方文本填写表格。 你当前正在使用 iTextSharp 5 或更早版本。该版本的 iText 不支持印地语。直到 iText 7 才引入印地语。因此,如果您想使用印度语书写系统(梵文、泰米尔语等)填写表格,则需要适用于 C# 的 iText 7 和 pdfCalligraph 附加组件。请注意,pdfCalligraph 附加组件保持封闭源代码。您需要商业许可证才能使用它。
我们保留了该部分的源代码,因为:
- 太多公司在不遵守 AGPL 许可且未购买许可的情况下使用 iText,
- 据我所知,没有其他免费软件支持印度文书写系统。如果我们将 pdfCalligraph 作为开源软件发布,我们将放弃太多价值。
总结:
- 你的表格不是表格。做成表格。
- 使用可以使用印度语书写系统填写此类表格的软件(例如 iText 7 + pdfCalligraph 插件)。
我从下面下载了pdflink
我需要的是用给定的文本填充空白,我尝试了以下代码
using (FileStream outFile = new FileStream(@"E:\residence(VRO)1.pdf", FileMode.Create))
{
PdfReader pdfReader = new PdfReader(@"E:\residence(VRO).pdf");
PdfStamper pdfStamper = new PdfStamper(pdfReader, outFile);
pdfStamper.FormFlattening = true;
AcroFields af = pdfReader.AcroFields;
string[] fields = pdfStamper.AcroFields.Fields.Select(x => x.Key).ToArray();
for (int key = 0; key <= fields.Count() - 1; key++)
{
}
}
但是我没有得到这些字段,所以有人可以帮助我吗
你说的所谓表格,不是表格。即:它不是交互式形式。我拿了那个 PDF 并添加了交互字段。请下载 adapted.pdf 并检查它以发现差异。
现在,当您 运行 您的代码在上面时,您将看到这些字段,并且您将能够 使用西方文本填写表格。 你当前正在使用 iTextSharp 5 或更早版本。该版本的 iText 不支持印地语。直到 iText 7 才引入印地语。因此,如果您想使用印度语书写系统(梵文、泰米尔语等)填写表格,则需要适用于 C# 的 iText 7 和 pdfCalligraph 附加组件。请注意,pdfCalligraph 附加组件保持封闭源代码。您需要商业许可证才能使用它。
我们保留了该部分的源代码,因为:
- 太多公司在不遵守 AGPL 许可且未购买许可的情况下使用 iText,
- 据我所知,没有其他免费软件支持印度文书写系统。如果我们将 pdfCalligraph 作为开源软件发布,我们将放弃太多价值。
总结:
- 你的表格不是表格。做成表格。
- 使用可以使用印度语书写系统填写此类表格的软件(例如 iText 7 + pdfCalligraph 插件)。