C#如何利用itextSharp修改现有PDF文件内容,比如插入

C#如何利用itextSharp修改现有PDF文件内容,比如插入,第1张

1.下载的压缩包中的第一个文件解压:

2.将iTextSharp.dll文件拷贝到项目的bin目录,然后在项目中添加引用:

3.然后在后台代码添加引用:

using iTextSharp.text

using iTextSharp.text.pdf

using System.IO

using System.Diagnostics

//创建PDF

private void CreatePdf()

{

  //定义一个Document,并设置页面大小为A4,竖向

  iTextSharp.text.Document doc = new Document(PageSize.A4)

  try

  {

      //写实例

      PdfWriter.GetInstance(doc, new FileStream("D:\\Hello.pdf", FileMode.Create))

      #region 设置PDF的头信息,一些属性设置,在Document.Open 之前完成

      doc.AddAuthor("作者幻想Zerow")

      doc.AddCreationDate()

      doc.AddCreator("创建人幻想Zerow")

      doc.AddSubject("Dot Net 使用 itextsharp 类库创建PDF文件的例子")

      doc.AddTitle("此PDF由幻想Zerow创建,嘿嘿")

      doc.AddKeywords("ASP.NET,PDF,iTextSharp,幻想Zerow")

      //自定义头

      doc.AddHeader("Expires", "0")

      #endregion //打开document

      doc.Open()

      //载入字体

      BaseFont.AddToResourceSearch("iTextAsian.dll")

      BaseFont.AddToResourceSearch("iTextAsianCmaps.dll")

      //"UniGB-UCS2-H" "UniGB-UCS2-V"是简体中文,分别表示横向字 和 // 纵向字 //" STSong-Light"是字体名称

      BaseFont baseFT = BaseFont.CreateFont(@"c:\windows\fonts\SIMHEI.TTF", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED)

      iTextSharp.text.Font font = new iTextSharp.text.Font(baseFT)//写入一个段落, Paragraph

      doc.Add(new Paragraph("您好, PDF !", font))

      //关闭document

      doc.Close()

      //打开PDF,看效果

      Process.Start("D:\\Hello.pdf")

  }

  catch (DocumentException de) { Console.WriteLine(de.Message)Console.ReadKey()}

  catch (IOException io) { Console.WriteLine(io.Message)Console.ReadKey()}

}

1.从我已经能够确定,它看起来像字体大小相对于文本字段的水平和垂直宽度。我打周围的几道工序,试图“重规模”在运行,但没有文字已经产生任何结果。唯一的“假阳性”我能够产生是当我手动调整大小的文本字段。很抱歉,这不是更有助于解决你的问题,我只是想我会用这个问题分享我的经验。我会留意的任何解决方案,不过 CodeGo.net,如果你成功地与一个解决方案,请张贴它,那将是非常宝贵的知识。

2. 哪个版本的iTextSharp的都是我有5.0.6.0和代码工程下面一行stamper.AcroFields.SetFieldProperty("SomeDateField", "textsize", 8f, null)

不过,我遇到了一个古怪......上面的行只有在该字段的字体大小设置为工作Auto。当它被设置为一个固定的字体大小,我似乎无法通过代码来改变它(我试过,我不得不在几个不同的方式)。 我想,如果你遇到了,如果你设置该字段为自动字体大小在Acrobat。

3. 我得到了它stamper.AcroFields.SetFieldProperty("names", "textsize", 4f, null)

但它具有字段被填充之前被设置

Spire.PDF添加书签到现有PDF文档参考以下代码,这只是一个参考,你可根据自己的实际情况修改。

//加载文档

PdfDocument pdf = new PdfDocument()

pdf.LoadFromFile("示例.pdf")

for (int i = 0i <pdf.Pages.Counti++)

{

//添加书签

PdfBookmark bookmark = pdf.Bookmarks.Add(string.Format("第{0}章", i+1))

//设置书签指向的页面和位置

bookmark.Destination = new PdfDestination(pdf.Pages[i])

bookmark.Destination.Location = new PointF(0, 0)

//设置书签的文本格式和颜色

bookmark.DisplayStyle = PdfTextStyle.Bold

bookmark.Color = Color.Black

}

//保存文档

pdf.SaveToFile("Bookmark2.pdf")


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/8025239.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存