C# 如何以编程方式填充现有PDF文档
我有一个PDF文档,它不是使用Adobe LifeCycle Designer创建的。我要做的是预先填写文档中的公共字段 我已经研究了许多使用iTextSharp和PDFSharp的选项,但不确定如何正确使用它 我最近看到了这篇文章:它有很好的文档,但与我正在创建的内容不匹配 我也在读关于iTextSharp的文章,它可以导入VS并使用,但我不知道从哪里开始。我看过很多教程,但没有一本介绍如何开始C# 如何以编程方式填充现有PDF文档,c#,vb.net,wordpress,pdf,C#,Vb.net,Wordpress,Pdf,我有一个PDF文档,它不是使用Adobe LifeCycle Designer创建的。我要做的是预先填写文档中的公共字段 我已经研究了许多使用iTextSharp和PDFSharp的选项,但不确定如何正确使用它 我最近看到了这篇文章:它有很好的文档,但与我正在创建的内容不匹配 我也在读关于iTextSharp的文章,它可以导入VS并使用,但我不知道从哪里开始。我看过很多教程,但没有一本介绍如何开始 请帮助……我最近与itextsharp合作了一个大型项目 这里有一些东西可以让你开始 但只要从
请帮助……我最近与itextsharp合作了一个大型项目 这里有一些东西可以让你开始 但只要从pdf中读取数据,然后再输出回来 你需要一些正则表达式来帮助你 下面是我的一个示例代码(这会在每个新页面事件上创建页眉或页脚) 这是我启动pdf的部分代码
using (var ms = new MemoryStream())
{
using (var doc = new Document(PageSize.LETTER, 220f, 30f, 115f, 100f)){
try
{
pdfPage page = new pdfPage();
PdfWriter writer = PdfWriter.GetInstance(doc, ms);
writer.PageEvent = page;
doc.Open();
iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(RESOURCE);
img.ScalePercent(49f);
//img.Width = doc.PageSize.Width;
//img.Alignment = iTextSharp.text.Image.ALIGN_CENTER;
img.SetAbsolutePosition(-8,
doc.PageSize.Height - 180.6f);
doc.Add(img);
这是我的输出代码(作为从服务器直接创建的下载pdf*未保存在服务器上)
试试这个,可能重复感谢你的文章。我只是对开始的部分感到困惑。我在C#中创建了一个新的ASP.NET空Web应用程序,然后导入iTextSharp并创建了一个aspx页面?好的,下面是一些基本的代码示例,从从从stream打开一个新的pdf到输出它。谢谢您花时间帮助初学者,而不是否决。。。谢谢。我接受了答案。
using (var ms = new MemoryStream())
{
using (var doc = new Document(PageSize.LETTER, 220f, 30f, 115f, 100f)){
try
{
pdfPage page = new pdfPage();
PdfWriter writer = PdfWriter.GetInstance(doc, ms);
writer.PageEvent = page;
doc.Open();
iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(RESOURCE);
img.ScalePercent(49f);
//img.Width = doc.PageSize.Width;
//img.Alignment = iTextSharp.text.Image.ALIGN_CENTER;
img.SetAbsolutePosition(-8,
doc.PageSize.Height - 180.6f);
doc.Add(img);
}
catch (Exception ex)
{
//Log error;
}
finally
{
doc.Close();
}
}
Response.Clear();
//Response.ContentType = "application/pdf";
Response.ContentType = "application/octet-stream";
Response.AddHeader("content-disposition", "attachment;filename= Company " + namefile + ".pdf");
Response.Buffer = true;
Response.Clear();
var bytes = ms.ToArray();
Response.OutputStream.Write(bytes, 0, bytes.Length);
Response.OutputStream.Flush();
}