【c# – 使用iTextSharp和PDFStamper在PDF中使用不同的字体】教程文章相关的互联网学习教程文章

C# 中使用iTextSharp组件创建PDF的简单方法【图】

将iTextSharp.dll文件拷贝到项目的bin目录,然后在项目中添加引用:然后在后台代码添加引用:代码如下: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...

C#-用于64位操作系统的itextsharp

我正在64位Windows 7 OS上使用Visual Studio开发应用程序.http://sourceforge.net/projects/itextsharp/具有用于32位OS的库,但没有用于64位的库. 关于在哪里可以找到64位库的任何建议?解决方法:我也看不到64位下载,但是您可以下载源代码并进行64位构建.这是获取源的URL:http://sourceforge.net/projects/itextsharp/develop

c#-iTextSharp-将文本放在现有内容的顶部【代码】

我已经能够使用x,y坐标来绝对定位新文本,但是新文本隐藏在现有图像的后面.我玩过Stamper,OverContent,但没有成功. 这是我正在使用的代码:PdfReader reader = new PdfReader(new RandomAccessFileOrArray(fileNameExisting), null); Rectangle size = reader.GetPageSizeWithRotation(1);using (var outStream = new FileStream(fileNameNew, FileMode.Create)) {Document document = new Document(size);PdfWriter writer = PdfWr...

首页> C#> iTextSharp的IndexOutOfRange【代码】

不断获取IndexOutOfRangeException是未处理的异常.var sb = new StringBuilder(); var bdn = String.Format("{0}\\bdn.pdf", Application.StartupPath); var reader = new PdfReader("bdn.pdf"); var numberOfPages = reader.NumberOfPages; for (var currentPageIndex = 1; currentPageIndex <= numberOfPages; currentPageIndex++) {sb.Append(PdfTextExtractor.GetTextFromPage(reader, currentPageIndex)); }解决方法:确保您运...

使用iTextSharp(C#)从PDF中提取嵌入式XML【代码】

我需要使用C#提取嵌入在Bankruptcy court files中的XML数据.在PDF Reader中,文件看起来像是典型的法庭文档.在记事本中,XML被埋在文本中.我尝试使用SimpleTextExtractionStrategy提取具有this和another code snippet的文本.第一个输出的文件中没有来自PDF的可识别文本,第二个输出的文件符号.我还尝试将其作为AcroField和Xfaform访问.似乎不是基于“监视”窗口的那些. 单步执行Visual Studio中的代码,XML出现在PDFReader>>下.目录>>键...

c#-使用iTextSharp库提取包含在pdf文件中的签名的图像【代码】

我有一个签名的PDF文件.通过使用iTextSharp库的此功能,我找到了证书p7m签名:private void GetSignature(string FileName){AcroFields acroFields = new PdfReader(FileName).AcroFields;List<string> names = acroFields.GetSignatureNames();foreach (var name in names){PdfDictionary dict = acroFields.GetSignatureDictionary(name);PdfString contents = (PdfString)PdfReader.GetPdfObject(dict.Get(PdfName.CONTENTS));by...

C#-ITextSharp SetVisibleSignature无法按预期工作【代码】

因此,我一直在使用IText的Java实现,但是现在我几乎将签名过程的一部分写到了C#中,并且遇到了麻烦.因此,当我使用SetVisibleSignature(rect,page,name)重载对我的文档进行签名时,它将按预期方式对文档进行签名(只要签名字段不存在),但是当我使用重载SetVisibleSignature(name)来对现有文档进行签名时字段,它实际上并不签署文档.我是否正在做一些愚蠢的事情而错过了什么? 感谢您的任何帮助. 更新的代码using iTextSharp.text; using ...

首页> C#>使用ItextSharp的PdfPTable,table.TotalHeight返回0.0,但期望一个正浮点值【代码】

我正在使用ItextSharp创建具有多个PdfPTables的PDF文档.我使用一个列表对多个PdfPTable进行分组,并且该列表在函数中创建并作为列表返回.然后,我获取列表并遍历整个列表,以将每个PdfPTable添加到文档中. 如果列表中的下一个PdfPTable大于文档上的剩余空间,我想添加一个新页面. 使用断点,我注意到“ table.TotalHeight”总是返回0,而我希望它返回一个正浮点值.我可能会误解table.TotalHeight的工作方式,但据我了解,它应该返回单个表的...

C#-itextsharp中的Pads LTV验证引发Uri前缀无法识别【代码】

我已经在LTV支持下成功签署了pdf文件.我可以通过Adobe Acrobat Reader以及外部验证器检查pdf和LTV签名是否有效. 我正在尝试使用iTextSharp 5.5.10进行相同的验证. 我正在关注iText示例代码C5_06 但是,当我调用ltvVerifier.Verify时,我得到了System.NotSupportedException,无法识别Uri前缀.我正在加载用于签署pdf en cert参数的证书. 验证码:public static bool Validate(byte[] pdfIn, X509Certificate2 cert){using (var reader ...

c# – 从iTextSharp中的嵌入式资源加载BaseFont【代码】

我正在使用iTextSharp生成动态PDF文档.我需要使用我拥有许可的.ttf文件的非常特定的字体. 我可以使用下面的代码来加载和使用字体,但是我更喜欢将字体文件定位为我的类库中的嵌入式资源,而不是依赖于磁盘上的特定位置.string fontpath = Server.MapPath("."); BaseFont customfont = BaseFont.CreateFont(fontpath + "myspecial.ttf", BaseFont.CP1252, BaseFont.EMBEDDED); Font font = new Font(customfont, 12); string s = "...

c# – 使用iTextSharp检查PDF是否启用了“Fast Web View”属性【代码】

我正在编写一些集成测试来验证转换为PDF操作的正确性.在其中一个测试中,我想检查PDF是否启用了“快速Web视图”.我虽然这是一个直接的测试,但我没有找到任何提供该信息的属性.我正在使用iTextShap并编写我的测试C#. 由于代码总是有助于可视化问题,下面是我想要做的一个简单示例using System; using System.Collections; using iTextSharp.text.pdf;namespace ValidationTools {public class PDFValidator{readonly PdfReader _reade...

使用XMLWorker将HTML解析为PDF时设置行间距 – ITextSharp C#【代码】

我正在使用XMLWorker将HTML字符串解析为PDF文档,并且无法找到控制正在生成的PDF的行间距的方法.Document document = new Document(PageSize.LETTER, 72f, 72f, 108f, 90f); MemoryStream stream1 = new MemoryStream(); PdfWriter pdfWriter = PdfWriter.GetInstance(document, stream1);document.Open();//parse HTML into document XMLWorkerHelper.GetInstance().ParseXHtml(pdfWriter, document, new StringReader(summary.Con...

c# – iTextSharp将预先存在的PDF作为图层添加到另一个PDF【代码】

我有报告正在转换为PDF.其中一些报告缺少信息仅仅是因为我们没有跟踪它.我用报告的shell创建了另一个PDF,并在其上放置了输入字段控件.我想知道是否有办法将shell PDF应用于转换的PDF,以便用户可以在这些空白字段中输入信息而无需打印出来并手写它们?我通过Adobe Acrobat Pro 9.3手动完成此操作,将生成的PDF作为图层应用于shell PDF.关于图层的iTextSharp,我已经做了很多,但我还没有发现任何有用的东西. 先谢谢你!解决方法:1)图层...

c# – 使用iTextSharp和PDFStamper在PDF中使用不同的字体【代码】

我正在使用iTextSharp加载现有PDF并使用PdfStamper添加文本.我希望完全控制文本,这意味着我希望能够控制字体(仅限TrueType),字体大小和坐标.现在,我正在使用ShowTextAligned将文本添加到某些协调,并使用setFontAndSize来设置字体和字体大小.这是我添加文字的代码:private void AddText(BaseFont font, string text, int x, int y, int size){pdf.BeginText();pdf.SetFontAndSize(font, size);pdf.ShowTextAligned(PdfContentByte....

c# – 使用itextsharp根据大小将pdf拆分为较小的pdf【代码】

所以我们有一些非常低效的代码,根据允许的最大大小将pdf分成更小的块.阿卡.如果最大大小为10megs,则跳过8兆字节文件,而根据页数分割16兆字节文件. 这是我继承的代码,并且感觉必须有一种更有效的方法来执行此操作,只需要一个方法和较少的对象实例化. 我们使用以下代码来调用方法:List<int> splitPoints = null;List<byte[]> documents = null;splitPoints = this.GetPDFSplitPoints(currentDocument, maxSize);documents = this.Sp...