继续引用spire的dll。

1.代码如下:

PdfDocument doc = new PdfDocument();
doc.LoadFromFile("wen.pdf");
PdfPageBase page = doc.Pages[doc.Pages.Count-1];
System.Drawing.Font font = new System.Drawing.Font("微软雅黑", 9, FontStyle.Regular);
PdfTrueTypeFont trueTypeFont = new PdfTrueTypeFont(font, true);
page.Canvas.DrawString("请在此输入建议:", trueTypeFont, new PdfSolidBrush(Color.Black), 80, 180);
doc.SaveToFile("MyFirstPDF.pdf");
//page.Canvas.DrawString("请在此输入建议:",
//new PdfFont(PdfFontFamily.Helvetica, 9f),
//new PdfSolidBrush(Color.Black), 80, 180);
//doc.SaveToFile("MyFirstPDF.pdf");//如果用此中文乱码
doc.Close();

2.进阶:

  问题情境:要修改的地方原先就有东西,需要删除再覆盖:

  解决办法:先添加白色brush矩形覆盖,再进行添加内容

PdfDocument doc = new PdfDocument();
doc.LoadFromFile("orignal.pdf");
PdfPageBase page = doc.Pages[doc.Pages.Count - 1];
RectangleF rectangle = new RectangleF(80,180,500,500);
PdfBrush brush = PdfBrushes.White;
page.Canvas.DrawRectangle(brush, rectangle); System.Drawing.Font font = new System.Drawing.Font("微软雅黑", 12, FontStyle.Regular, GraphicsUnit.World);
PdfTrueTypeFont trueTypeFont = new PdfTrueTypeFont(font, true);
page.Canvas.DrawString(editStr, trueTypeFont, new PdfSolidBrush(Color.Black), 80, 180);
doc.SaveToFile("now.pdf");
doc.Close();

3.后加textBox获取换行符

private string getEditString(string strOrig)
{
int numL = 40;
string editStr = strOrig;
string[] strs = editStr.Split(new string[1] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);
editStr = ""; for (int i = 0; i < strs.Length; i++)
{
float numC = 0F; int addT = 0;
for (int k = 0; k < strs[i].Length; k++)
{
try
{
if (!Regex.IsMatch(strs[i].Substring(k, 1), @"[a-zA-Z0-9]"))
{
numC += 1;
}
else
{
numC += 0.5f;
addT++;
}
if (numC > numL)
{
break;
}
}
catch(Exception eeee)
{
throw eeee;
}
}
if (numC > numL)
{
string str = strs[i].Insert(numL - 1 + addT / 2, "\r\n");
editStr += getEditString(str);
continue;
}
else
{
editStr += strs[i] + "\r\n";
}
}
return editStr;
}

附加:

  1.行间距设置:PdfStringFormat stringFormat = new PdfStringFormat();
            stringFormat.LineSpacing = 16f;

    

c# 修改pdf的更多相关文章

  1. 怎么修改PDF文档图片内容

    我们想要修改PDF文件的时候应该怎么做呢,PDF文件不同于其他的文件,PDF文件的编辑需要借助PDF编辑器才能够对文件进行编辑修改,那么要怎么修改PDF文档图片内容呢,有许多的小伙伴都想知道该怎么做, ...

  2. 如何修改PDF文件内容,PDF怎么添加背景

    很多的情况下,大家都会遇到PDF文件,不管是在学习中还是在工作中,对于PDF文件,文件的修改编辑是需要用到PDF编辑软件的,在编辑文件的时候,发现文件的页面是有背景颜色的,又该如何修改背景颜色呢,不会 ...

  3. 使用iTextSharp修改PDF文件(一)

    这个iTextSharp确实是个好东西,可以创建.读取PDF格式的文档,虽然我的需求比较简单,但我首先还是基本上.完整地看完了它的相关文档,不喜欢英文的同志,可以搜索一篇<用C#制作PDF文件全 ...

  4. photoshop 修改pdf文件并保存为pdf

    1.CTRL + O   打开要编辑的pdf文件 按住shift 选中每一页,点击确定. pdf文档每一页以一个psd文件显示在工作区, 分别进行修改, 2.批量修改同一个元素(比如加个图标) 在一页 ...

  5. 【使用Itext处理PDF文档(新建PDF文件、修改PDF文件、PDF中插入图片、将PDF文件转换为图片)】

    iText简介 iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库.通过iText不仅可以生成PDF或rtf的文档,而且可以将XML.Html文件转 ...

  6. linux下轻松修改pdf文件

    前几天使用firefox打印了一个网页,后来查看有很多页面都是评论,对我来说,实在没有什么用处,就想把多余的内容给删除了,后来,终于找到了一个工具:pdf mod非常不错的工具,直接打开文件,选择要删 ...

  7. 【转】adobe acrobat pro修改pdf文字

    原文网址:http://zhidao.baidu.com/link?url=7MTeEu5IM49lNIISNQMcZLyLAwMPsRQWF5WAwQPfvkPsbbZLHSQE43MWaIxxVm ...

  8. pymupdf 修改pdf文件

    安装: sudo pip install pymupdf==1.16.0 引入使用: import  fitz 可以插入文字.图片.... 帮助文档: PyMuPDF documentation ht ...

  9. 怎么在PDF上进行文字修改

    文件相信大家不论是工作中还是在学习生活中都会有遇到,有时候我们会遇到PDF文件中的文字有时候会有错误的时候,这个时候就需要对修改PDF文件上的文字,那么具体要怎么做呢,PDF文件需要借助软件才可以编辑 ...

随机推荐

  1. python使用findall正则匹配出所有符合条件的字符串

    # -*- coding:utf-8 -*- import re mystr="qqq key:www.baidu.com<br>key:www.tengxun.com<b ...

  2. jQuery属性操作之.attr()

    目录 .attr() 调用形式:$("xxx").attr(name) 调用形式:$("xxx").attr(name,value); 调用形式:$(" ...

  3. 遍历语法for...in for...of iterator

    1.Javascript最常见的遍历语法是for循环 缺点:写法较为麻烦 for (let index = 0; index < array.length; index++) { const e ...

  4. php图片上传存储源码,可实现预览

    <?php header("content-Type: text/html; charset=gb2312"); $uptypes=array('image/jpg', // ...

  5. linux3.4.2之dma驱动

    1. 分配源地址.目的地址 src_addr = dma_alloc_writecombine(NULL,BUFF_SIZE, &psrc_addr,GFP_KERNEL); dst_addr ...

  6. Linux内核程序的编译:模块化编译

    内核在编译的时候,可以支持单独模块化编译,只需要一个小小的Makefile即可搞定. 步骤如下: 1.在任意位置创建目录 vim Makefile 2.在Makefile中添加如下代码(我的kerne ...

  7. 消除运行MATLAB生成独立可执行程序的DOS黑屏

    基于Matlab生成独立可执行文件后,每次运行都存在DOS黑屏问题,可通过以下方法解决: 在Matlab命令窗口中输入: cd(prefdir) edit compopts.bat 在打开的文件最后添 ...

  8. # 20155224 课堂实践 MyOD

    20155224 课堂实践 MyOD 要求 编写MyOD.java 用java MyOD XXX实现Linux下od -tx -tc XXX的功能 提交测试代码和运行结果截图,加上学号水印,提交码云代 ...

  9. 20155317 2016-2017-2 《Java程序设计》第十学习总结

    20155317 2016-2017-2 <Java程序设计>第十学习总结 教材学习内容总结 1.网络编程的概念: 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作 ...

  10. ASCII, UNICODE, UTF-8, 字符集理解

    字符编码的发展历史 一个字节:最初一个字节的标准是混乱的,出现过4位.6位.7位的一字节标准,最终由于历史原因和物理存储需求(8位是2的3次方,方便物理存储),所以采用了8位为一个字节的标准. ASC ...