【发布时间】:2017-08-01 19:34:17
【问题描述】:
我可以复制内容并进行编辑,但我没有得到与旧模板相同的模板,模板正在更改,并且我的旧文件上有一个图像,该图像也没有被复制到我的新文件,其他内容正在被复制,有人帮我将新的 pdf 文件模板制作为旧文件,下面是我的代码。
public static void Main(string[] args)
{
var editedText = ExtractTextFromPdf(@"C:\backup_temp\Template.pdf");
string outputfile =@"C:\backup_temp\Result.pdf";
using (var fileStream = new FileStream(outputfile, FileMode.Create,
FileAccess.Write))
{
Document document = new Document(PageSize.A4, 25, 25, 30, 30);
PdfWriter writer = PdfWriter.GetInstance(document, fileStream);
document.Open();
document.Open();
document.Add(new Paragraph(editedText));
document.Close();
writer.Close();
fileStream.Close();
}
}
public static string ExtractTextFromPdf(string path)
{
using (PdfReader reader = new PdfReader(path))
{
StringBuilder text = new StringBuilder();
for (int i = 1; i <= reader.NumberOfPages; i++)
{
text.Append(PdfTextExtractor.GetTextFromPage(reader, i));
text.Replace("[DMxxxxxxx]", "[DM123456]");
}
return text.ToString();
}
}
【问题讨论】:
-
请阅读我的 cmets 以回答问题 creating new pdf by copying data from another pdf。你正在努力实现一些不可能的事情。如果您与kulbans1991是同一个人,请注意,再次使用新身份发布相同的问题不会改变答案。
-
那么是否有可能以其他方式满足我的要求,这意味着我应该编辑旧pdf中的内容并将其保存为新的pdf文档,我尝试使用了很多东西和方法但是它没有工作。
-
不,如果您只能访问 PDF,则无法以任何其他方式满足您的要求。如果您可以访问原始格式(例如 Word 文件、原始数据和用于生成 PDF 的代码……),您应该更改原始格式并重新创建 PDF。
-
@ShaktiS 实际上它可能是可能的。这取决于非常PDF。因此,如果您能够为程序应作为输入接收的 PDF 和数据制定要求,您可以创建一个实现。不幸的是,如今满足相关要求的 PDF 越来越少......
标签: itext