首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用itextsharp(或任何c#pdf库),如何打开PDF,替换一些文本,然后再次保存?

使用iTextSharp库,您可以使用C#语言打开PDF文件,替换其中的文本,并将更改后的文件保存。以下是一个简单的示例代码:

代码语言:csharp
复制
using System;
using System.IO;
using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;

namespace ReplacePDFText
{
    class Program
    {
        static void Main(string[] args)
        {
            string inputFile = "input.pdf";
            string outputFile = "output.pdf";
            string oldText = "old_text";
            string newText = "new_text";

            PdfReader reader = new PdfReader(inputFile);
            using (PdfStamper stamper = new PdfStamper(reader, new FileStream(outputFile, FileMode.Create)))
            {
                for (int i = 1; i <= reader.NumberOfPages; i++)
                {
                    PdfDictionary pageDict = reader.GetPageN(i);
                    PRIndirectReference pageRef = (PRIndirectReference)pageDict;
                    PRStream contentStream = (PRStream)pageRef.GetRefersTo(reader);
                    byte[] contentBytes = PdfReader.GetStreamBytes(contentStream);
                    string content = System.Text.Encoding.UTF8.GetString(contentBytes);

                    content = content.Replace(oldText, newText);

                    PRStream newContentStream = new PRStream(reader, contentBytes);
                    pageDict.Put(PdfName.CONTENTS, newContentStream);
                }
            }
        }
    }
}

在这个示例中,我们首先定义了输入文件(input.pdf)、输出文件(output.pdf)、要替换的旧文本(old_text)和新文本(new_text)。然后,我们使用PdfReader类读取PDF文件,并使用PdfStamper类创建一个新的PDF文件。接下来,我们遍历PDF文件的每一页,并获取每一页的内容。然后,我们使用Replace方法替换旧文本为新文本。最后,我们将更改后的内容写入新的PDF文件。

您可以使用腾讯云的PDF处理服务来实现类似的功能。腾讯云提供了一个名为“腾讯云PDF处理”的产品,它可以帮助您轻松地处理PDF文件,包括替换文本、合并文件、添加水印等功能。您可以访问以下链接了解更多信息:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iText 制作PDF

"));   但是你几乎永远不会用到Writer实例(除非你想创建高级PDF或者希望用一些非常特殊的函数,如ViewerPreferences Encryption)。...,第二个参数可以是任何一种流,到目前为止我们一直使用System.IO.FileStream将Document写入文件中。...第三步 打开Document    在你写入任何实际数据之前,你可能希望通过以下几种方法写入一些关于本文档的摘要:    public boolean addTitle(String title);   ...文件指定一些阅读器 (如Adobe Reader) 参数: public void setViewerPreferences(int preferences)   参数可以使用以下一些常量:     ...itextsharp创建PDF文件的例子"); doc.AddTitle("此PDF由aehyok创建,嘿嘿"); doc.AddKeywords

2.3K20
  • 开源免费且稳定实用的.NET PDF打印组件itextSharp(.NET组件介绍之八)

    对于项目开发中使用到打印的地方会非常多,在.NET项目中,选择打印的方式比较多,例如原始的IE网页打印、水晶报表、JS插件实现打印、导出文档打印,以及今天提到的使用itextSharp组件实现PDF打印等等...一.itextSharp组件概述:          1.iText的是PDF,它允许你创建,调整,检查和维护的可移植文档格式文件(PDF):         (1).基于从XML文件数据中的数据生成文件和报告...(4).从现有PDF文件拆分连接页面;填写交互式表单。         (5).即成动态生成操纵PDF文档到Web浏览器。       ...iText所使用的的Java,.NET,Android和GAE开发人员加强与PDF功能的应用程序。iTextSharp的是.NET端口。    ...2.itextSharp一些特征:        (1).PDF生成。        (2).PDF操作(冲压水印,合并/拆分PDF文件,...)。

    7.5K50

    文档在线预览的实现

    pdf 如果是文本需要转换为PDF,我们可以使用iTextSharp这个组件,对于纯文本,注意的是源文件中没有设置字体之类的,需要在转换成PDF时指定字体,否则对于中文可能由于没有设置字体而转换不出来。...的功能,在转换后,我们可以进一步使用ITextSharppdf进行加工,比较常见的添加水印功能。...其实就是做一个淡淡的背景透明的图片,然后打开pdf文件,在每一页中画上水印图片即可。...这个在以前是不现实的,现在有了HTML5,只要浏览器支持HTML5就可以使用pdf.js,将服务器上的pdf文件转换成HTML5代码展示在浏览器上。...另外还有一个解决方案是使用Flash,需要把pdf文件进一步转换为swf文件,然后由Flash播放器来播放这个文档。

    3.6K10

    强大的 .NET PDF处理神器:PDFSharp

    iTextSharp虽然没有限制,但是开源协议不友好(AGPL),用于闭源商业软件属于要挂耻辱柱的行为了。无意间发现了另一款基于.NET 6 的跨平台、免费开源(MIT协议)pdf处理。...尝试使用了下,还不错,该有的都有,简单的pdf文件可以直接使用PDFSharp生成,复杂点的则提供了MigraDoc来编辑。 自己的小应用都已经上生成环境了,觉得该是挺ok的了。...主要功能 1、创建PDF:无需预先存在的模板,PDFSharp允许您直接从头开始构建PDF文档。 2、内容插入:支持在PDF页面中添加文本、图像、表格、图形等丰富元素。...3、格式化:提供字体选择、颜色设定、布局调整等样式控制功能,帮助您创建高度定制化的PDF文档。 4、合并与拆分:能够将多个PDF文档合并成一个,将一个PDF文档拆分成多个部分。...,当然了这里没有加上文件信息那些,仅仅是生成内容罢了,有那些需要的可以自己根据文档站点看看如何设置。

    1.1K10

    一些好用的开源控件

    工作两年,一直都在做些编码方面的表面功夫,实现了很多很炫的功能,在此写下一些体验。有些比较小的dll文件我会发上来,如果是开源组织的代码我会把地址附上,毕竟人家是会更新的。...我曾经自己过日志工具,将日志写在服务器的某个文本文件中,但总是因为文本写入异常出现各种各样的错误。...读取pdf的工具有PDFBox和iTextSharp,有网友推荐使用iTextSharp,我在项目中使用的是PDFBox,个人感觉这个工具的效率很低。...以下地址不太详细的介绍了PDFBox和iTextSharp使用。 http://lwl0606.cmszs.com/?...p=344 六、dhtmlxTree树形控件       dhtmlxTree是一款js写的树形控件,可实现拖拽效果,每个节点的单击双击事件可以配置,打开关闭节点的事件也可以配置,我最看好这款树形控件的是每个节点前都有一个复选框

    1.6K60

    java PDF开源选择与iText发展历史

    iText的java类对于那些要产生包含文本,表格,图形的只读文档是很有用的。它的类尤其与java Servlet有很好的给合。使用iText与PDF能够使你正确的控制Servlet的输出。...JFreeReport生成的报表可以分页预览、打印或者保存为多种格式的文件包括pdf、Excel、html等。...PJX 1214 PJX支持读取,组合,处理,和生成PDF文档(注意:PJX需要 J2SE 1.4.0 更高版本)。...iText 1.x-2.x/iTextSharp 3.x-4.x(2006-2009) 这些版本的很受欢迎,但是这些不在更新也不能在商业环境中使用 这些版本的最后的版本是在2009年(iText...自己的个人网站也会部署一些关于iText的应用,感谢大家一如既往的支持! 5. 参考资料 [1] PDF百度百科词条 [2] PDF文件的读写(使用SDK).

    6.4K30

    Python高阶项目(转发请告知)

    它起着可以加载,操作和保存音频文件的容器的作用。让我们用python创建我们的第一个音频。替换,我们将需要一个测试文件,该文件可以采用任何格式,例如WAV,MP3任何格式。...它起着可以加载,操作和保存音频文件的容器的作用。让我们用python创建我们的第一个音频。替换,我们将需要一个测试文件,该文件可以采用任何格式,例如WAV,MP3任何格式。...然后,乌龟变成了可以触摸屏幕上的可视显示器,通常被替换任何类型的形状。即使采用纯图形格式,“乌龟”的概念也可以更轻松地表示所采取的动作,从而代表程序的功能。...我将使用逐页拆分pdf文件,然后阅读每页上的文本然后文本发送到使用Python创建有声读物的过程的下一步。 pyttsx3,能够重新将文本转换为语音。...•使用MIMEMultipart()函数创建一条消息,替换模板中每行的详细信息以形成消息的主体,将其保存在message变量中。•然后配置参数,例如消息主题的“从”和“到”地址。

    4.3K10

    PDF编辑软件Acrobat软件中文版下载,Acrobat软件2023版安装教程

    同时,用户还可以使用各种工具对PDF文件进行注释,例如添加文本、绘制图形、划重点、标记错误等等。这些注释可以以不同的形式保存,例如作为文本、图像或者音频等。...除了阅读和注释PDF文件外,Acrobat还提供了其他一些有用的功能。例如,用户可以使用Acrobat进行PDF文件的编辑,包括添加、删除、旋转和替换页面等操作。...下面将介绍如何在Acrobat中解密PDF文件。 首先,打开需要解密的PDF文件。如果PDF文件有密码保护,那么在打开文件时需要输入密码才能访问其中的内容。...然后,点击“确定”按钮关闭属性对话框。 此时,Acrobat会提示你是否要保存PDF文件的更改。如果需要保存,可以选择“是”按钮进行保存;如果不需要保存,可以选择“否”按钮关闭提示窗口。...此时,你可以尝试使用一些第三方软件进行解密,但需要注意选择可靠的软件,以避免造成不必要的损失。

    3.4K30

    .NET Core.NET5.NET6 开源项目汇总1:常用必备组件

    ORM是一个对象关系映射器,它负责数据和编程语言之间的映射。Dapper通过扩展IDbConnection提供一些有用的扩展方法去查询您的数据。...使用 itextsharp.lgplv2.core 把Html转PDF https://www.cnblogs.com/ping9719/p/12759848.html....Net Core 使用 itextsharp.lgplv2.core 生成PDF https://blog.csdn.net/weixin_30737363/article/details/96669770...包含以下功能 可以将Word文档转换为PDF。 添加属性以将文本环绕图片/表格/形状。 添加图片裁剪。 添加形状(目前为矩形)。 添加包含文本文本形状。 从段落中获取形状。...在Word文档中插入html/rtf文本(带标记)html/rtf文档。 克隆列表表。 添加修改复选框。 设置图片透明度。 基于引用的超链接创建格式化的超链接。

    4.1K10

    Python自动化Word,使用Python-docx和pywin32

    标签:python,pandas,python-docx,pywin32 本文介绍如何使用python-docx自动化Word文档,以及如何使用win32com发送电子邮件。...假设有一个存储在Excel文件(数据)中的客户信息列表,处理过程如下所示: 1.为每个客户端自动生成MS Word发票 2.将Word文档转换为PDF格式 3.使用MS Outlook App向客户发送带有自定义问候语的...Run对象表示任何文本,可以是字母、单词、句子完整的段落。使用.add_paragraph()开始一个新的句子/段落“完美Excel”,然后可以继续向现有Paragraph对象添加新的Runs。...要将Word(.docx)转换成PDF格式,实际上是使用win32com打开文档,然后将其另存为PDF格式。很简单! 下面的代码接受输入文件路径src,然后pdf转换并保存到文件路径dst。...将Word替换为Excel,将拥有一个Excel实例! wdFormatPDF=17可能是VBA使用的约定。

    3.6K50

    IKEA.com本地文件包含漏洞之PDF解析的巧妙利用

    除此之外,还可以通过电子邮件发送产品列表,或以PDF格式下载至本地保存。生成的PDF文件包含一些文本和产品图片信息。如下: ? ? 到这里我有个疑问,这个PDF如何生成的呢?...我们可以通过Google搜索模板中的一些独特字符串来得到答案。 ? 搜索结果为我们提供了两个选择,node-html-pdfmPDF。...这里并没有提及任何文件包含的相关内容。让我们再次Google搜索,看看是否有其他人发现过这类问题。 ?...然后用Foxit Reader打开文件,并寻找黄颜色的注释标记。 ? 双击该标记,我们就能打开并查看服务器上的文件啦! ? 总结 IKEA.com允许用户在购物清单导出过程中操纵PDF模板。...而其使用PDF包含了一个隐藏功能,即允许通过在模板中添加特定标记将文件嵌入到PDF中。该功能已在其最新版本中禁用,而IKEA却未进行及时的更新,因此才导致了安全问题的发生。

    1.6K60

    Python 自动化指南(繁琐工作自动化)第二版:十五、使用 PDF 和 WORD 文档

    尽管如此,这种近似的 PDF 文本内容对您的程序来说可能已经足够好了。 解密 PDF 一些 PDF 文档有一个加密功能,在打开文档的人提供密码之前,这些文档不会被阅读。...相反,您必须创建一个新的 PDF然后从现有文档中复制内容。本节中的示例将遵循这一通用方法: 将一个多个现有 PDF(源 PDF打开到PdfFileReader对象中。...创建一个PdfFileWriter对象来保存组合的 PDF 页面 ➍。最后,一些注释概述了程序的其余部分。 第二步:打开每个 PDF 现在程序必须读取pdfFiles中的每个 PDF 文件。...使用 Python-Docx,您的 Python 程序现在将能够从docx文件中读取文本,并像使用任何其他字符串值一样使用它。...将bold变量设置为True、FalseNone有什么区别? 如何为一个新的 Word 文档创建一个Document对象? 如何文本为'Hello, there!'

    3.6K50

    用Python玩转PDF的各种骚操作

    本文中的大多数示例都可以与PyPDF4完美配合,但也有一些不能,这就是为什么PyPDF4在本文中没有更多的特色。随意用PyPDF4替换PyPDF2的导入,看看它是如何工作的。...如何从Python中提取PDF文档信息 我们可以使用PyPDF2从PDF中提取元数据和一些文本,尤其是当在预先存在的PDF文件上执行某些类型的自动化时是非常有用的。...最后一页是第3页,没有对其进行任何旋转。最后,使用.write()把所有新页写入新的PDF如何合并PDF? 在许多情况下,我们希望将两个多个PDF合并到一个PDF中。...我们可以使用Python和PyPDF2为文档添加水印,而且是拥有仅包含水印图像文本PDF。...output:要保存PDF的水印版本的路径 watermark:包含水印图像文本PDF 在代码中,打开水印PDF并从文档中抓取第一页,因为这是水印应该驻留的位置。

    2.1K50

    卧槽,一行命令实现Html转PDF,强烈推荐!

    大家在日常的工作当中,应该经常会遇到将网页保存PDF文档的需求。 一般而言,直接使用浏览器自带的“打印”功能,选择“另存为PDF”,即可以输出 PDF 了。...简介 wkhtmltopdf是一个用 C++ 编写的开源、简单而有效的命令行 shell 程序,它可以将任何 HTML (网页)转换为 PDF 文档图像(jpg、png 等)。...2、基本使用 软件安装完成之后,就可以使用了。这里以 搜狗首页 为例,展示如何将 搜狗首页保存PDF 文件。...我们打开 cmd,找到安装路径下的 bin 目录,然后输入以下命令: wkhtmltopdf.exe https://www.sogou.com/ C:\sougou.pdf 运行之后就可以在指定的目录...以 Python 为例,需要再安装pdfkit(Python对wkhtmltopdf调用的封装),支持URL,本地文件,文本内容到PDF的转换,实际转换还是最终调用wkhtmltopdf命令。

    1.8K30

    【实用原创】20个Python自动化脚本,解放双手、事半功倍

    对于每个找到的目录,代码检查该目录是否为空(即不包含任何文件子目录)。如果是空目录,它就使用os.rmdir函数将其删除。...该函数使用PIL打开图片,然后调用resize方法将图片大小调整为指定的宽度和高度。 crop_image函数接受输入路径、输出路径,以及裁剪区域的左、上、右、下四个坐标作为参数。...该函数同样使用PIL打开图片,然后使用crop方法根据提供的坐标裁剪图片。...该函数首先使用PIL打开图片,然后创建一个ImageDraw对象以便在图片上绘制文本。接下来,设置字体(本例中使用Arial字体,字号为36),并使用draw.text方法将水印文本绘制到图片上。...函数使用PIL打开原始图片,然后调用thumbnail方法来创建缩略图。

    1.9K10

    如何使用Python玩转PDF各种骚操作?

    本文中的大多数示例都可以与PyPDF4完美配合,但也有一些不能,这就是为什么PyPDF4在本文中没有更多的特色。随意用PyPDF4替换PyPDF2的导入,看看它是如何工作的。...如何从Python中提取PDF文档信息 我们可以使用PyPDF2从PDF中提取元数据和一些文本,尤其是当在预先存在的PDF文件上执行某些类型的自动化时是非常有用的。...最后一页是第3页,没有对其进行任何旋转。最后,使用.write()把所有新页写入新的PDF如何合并PDF? 在许多情况下,我们希望将两个多个PDF合并到一个PDF中。...如何添加水印? 水印是纸质或者电子文档上的图像图案,一些水印只能在特殊照明条件下才能看到。水印的重要性在于它可以保护你的知识产权,例如图像PDF。...watermark:包含水印图像文本PDF 在代码中,打开水印PDF并从文档中抓取第一页,因为这是水印应该驻留的位置。

    1.2K20

    独家 | 手把手教你如何用Python从PDF文件中导出数据(附链接)

    让我们尝试用最简单的方法来使用它,那就是仅仅传递给它一个PDF文件的路径。我们会使用w9.pdf文件。打开一个终端并且定位到你存放PDF文件的位置,修改一下命令指向待处理文件: ?...然后在它的下层增加了一个页(Pages)元素。下一步是for循环,在此循环中我们从PDF中提取每一页然后保存想要的信息。...有一些人在留言中宣称代码对他们的一些PDF文件有效,同时也有一些留言例举了修改后的代码。Stack Overflow网站上有关于这个的各种代码,其中一些这样那样地使用了PyPDF2。...以下是你如何在没有Python的情况下使用它: ? 请确保images文件夹(你想新建的任何输出文件夹)已经被创建,因为pdfimages不会为你创建它。...我们学习了一些可以用来从PDF中提取文本的包,如PDFMinerSlate。我们还学习了如何运用Python的内置来导出文本到XML、JSON和CSV。

    5.4K30
    领券