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文件需要借助软件才可以编辑 ...
随机推荐
- jQuery实现列表的增加和删除
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 前端基础-HTTP协议
一. HTTP协议简介 二. HTTP协议之请求Request 三. HTTP协议之响应Response 四. HTTP协议完整工作流程 五. HTTP协议关键性总结 六.自定义套接字分析HTTP协议 ...
- Js错误: obj.parents is not a function
代码: (1) <div class="ViewMore" id="viewmore${i}" onclick="CLICK(thi ...
- Altium Designer (DXP) 复制粘贴,放器件 出错报异常的原因
安装好Altium Designer (DXP) 09板和2013后,运行后原理图复制粘贴元件或者放心的器件后出现下面异常, 原因是: 1.未启动 Print Spooler服务 2.没有安装任何打印 ...
- C语言数据结构与算法之深度、广度优先搜索
一.深度优先搜索(Depth-First-Search 简称:DFS) 1.1 遍历过程: (1)从图中某个顶点v出发,访问v. (2)找出刚才第一个被顶点访问的邻接点.访问该顶点.以这个顶点为新的顶 ...
- flex datagrid checkbox选中项目
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:fx=" ...
- 20155233 《Java程序设计》 第十一周课堂练习总结
20155233 <Java程序设计> 第十一周课堂练习总结 测试题目 1.修改教材P74 一行代码 NineNineTable.java, 让执行结果是个三角形: 提交在IDEA或命令行 ...
- 2016-2017-2 20155339 实验二《Java面向对象程序设计》实验报告
2016-2017-2 20155339 实验二<Java面向对象程序设计>实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟 ...
- GDAL中通过GDALDriver类的Create函数实现图像的保存
GDAL中除了读取各种类型的图像外,也可以实现对各种图像的保存操作,具体实现测试代码如下: int test_gadl_GDALDataset_write() { const char* image_ ...
- 1563: [NOI2009]诗人小G
1563: [NOI2009]诗人小G https://lydsy.com/JudgeOnline/problem.php?id=1563 分析: 直接转移f[i]=f[j]+cost(i,j),co ...