c# 修改pdf
继续引用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的更多相关文章
- 怎么修改PDF文档图片内容
我们想要修改PDF文件的时候应该怎么做呢,PDF文件不同于其他的文件,PDF文件的编辑需要借助PDF编辑器才能够对文件进行编辑修改,那么要怎么修改PDF文档图片内容呢,有许多的小伙伴都想知道该怎么做, ...
- 如何修改PDF文件内容,PDF怎么添加背景
很多的情况下,大家都会遇到PDF文件,不管是在学习中还是在工作中,对于PDF文件,文件的修改编辑是需要用到PDF编辑软件的,在编辑文件的时候,发现文件的页面是有背景颜色的,又该如何修改背景颜色呢,不会 ...
- 使用iTextSharp修改PDF文件(一)
这个iTextSharp确实是个好东西,可以创建.读取PDF格式的文档,虽然我的需求比较简单,但我首先还是基本上.完整地看完了它的相关文档,不喜欢英文的同志,可以搜索一篇<用C#制作PDF文件全 ...
- photoshop 修改pdf文件并保存为pdf
1.CTRL + O 打开要编辑的pdf文件 按住shift 选中每一页,点击确定. pdf文档每一页以一个psd文件显示在工作区, 分别进行修改, 2.批量修改同一个元素(比如加个图标) 在一页 ...
- 【使用Itext处理PDF文档(新建PDF文件、修改PDF文件、PDF中插入图片、将PDF文件转换为图片)】
iText简介 iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库.通过iText不仅可以生成PDF或rtf的文档,而且可以将XML.Html文件转 ...
- linux下轻松修改pdf文件
前几天使用firefox打印了一个网页,后来查看有很多页面都是评论,对我来说,实在没有什么用处,就想把多余的内容给删除了,后来,终于找到了一个工具:pdf mod非常不错的工具,直接打开文件,选择要删 ...
- 【转】adobe acrobat pro修改pdf文字
原文网址:http://zhidao.baidu.com/link?url=7MTeEu5IM49lNIISNQMcZLyLAwMPsRQWF5WAwQPfvkPsbbZLHSQE43MWaIxxVm ...
- pymupdf 修改pdf文件
安装: sudo pip install pymupdf==1.16.0 引入使用: import fitz 可以插入文字.图片.... 帮助文档: PyMuPDF documentation ht ...
- 怎么在PDF上进行文字修改
文件相信大家不论是工作中还是在学习生活中都会有遇到,有时候我们会遇到PDF文件中的文字有时候会有错误的时候,这个时候就需要对修改PDF文件上的文字,那么具体要怎么做呢,PDF文件需要借助软件才可以编辑 ...
随机推荐
- 非空校验在oracle和mysql中的用法
oracle判断是否为null nvl(参数1,参数2) :如果参数1为null则返回参数2,否则返回参数1 mysql判断是否为null ifnull(参数1,参数2) :如果参数1为null则返回 ...
- js 里常用的字符串操作方法
/*var str='啦啦啦'; var str1='哈哈哈' //charAt() 返回指定索引处的字符串 console.log(str.charAt(3)) //charCodeAt() 返回指 ...
- Windows8系统下设置Mongodb开机启动
1. 官网下载安装 MongoDB https://www.mongodb.com/ 2. 环境变量设置 把 mongod.exe 所在路径加入到环境变量的PATH, 我这里安装的路径是 D:\db\ ...
- PHP中的递增/递减运算符
看这段代码 <?php $a=10; $b=++$a; //此语句等同于 ; $a=$a+1 ; $b=$a echo $a."<br>"; echo $b; ? ...
- Pylint 使用手册(正在努力翻译中)
本篇文章长期更新 本文翻译自:https://pylint.readthedocs.io/en/latest/ 如果本文有哪里翻译不妥,请在本文下方评论处指出 ^_^ 版权声明:原创作品,允许转载,转 ...
- 以某课网日志分析为例 进入大数据 Spark SQL 的世界
第1章 初探大数据 本章将介绍为什么要学习大数据.如何学好大数据.如何快速转型大数据岗位.本项目实战课程的内容安排.本项目实战课程的前置内容介绍.开发环境介绍.同时为大家介绍项目中涉及的Hadoop. ...
- U盘,移动硬盘显示显示需要格式化怎么修复
冷静别怕,用windows系统自带磁盘修复CHKDSK命令即可解决此问题. 首先,在开始菜单栏站到“运行”窗口,也就是c:\(命令提示符),win7可直接在开始菜单的搜索窗口中输入“cmd”. 其次, ...
- Java ConcurrentHashMap 源代码分析
Java ConcurrentHashMap jdk1.8 之前用到过这个,但是一直不清楚原理,今天抽空看了一下代码 但是由于我一直在使用java8,试了半天,暂时还没复现过put死循环的bug 查了 ...
- 【树形DP】洛谷1122_最大子树和
又是一道树形DP的入门题,思想非常简单 然而我最开始还是存了两个状态[传送门] 题目描述 小明对数学饱有兴趣,并且是个勤奋好学的学生,总是在课后留在教室向老师请教一些问题.一天他早晨骑车去上课,路上 ...
- 20155204 2016-2017-2《Java程序设计》课程总结
20155204 2016-2017-2<Java程序设计>课程总结 目录 作业链接汇总 作业总结 实验报告链接汇总 代码托管链接 课堂项目实践 学习经验 问卷调查 链接二维码 (按顺序) ...