Tag: itextsharp

c#itextsharp在每页上创建带水印的PDF文件

我正在尝试使用itextsharp(Java的itext的C#端口)以编程方式在每个页面上创建一些带有水印的PDF文档。 在使用PdfStamper创建文档后,我能够执行此操作。 然而,这似乎涉及重新打开阅读它的文档,然后在每页上创建一个带有水印的新文档。 在文档创建过程中有没有办法做到这一点? 干杯, 蒂姆。

itextsharp:如何使用itextsharp在PDF中生成包含动态标头的报告?

我正在使用itextsharp生成PDF报告,报告的标题包含客户的信息,报告正文中包含客户交易列表。 我的疑问是:如何为每个客户端动态生成标头? 我需要一个示例来动态生成报告。 每个新页面标题需要具有客户端更改客户端标头时的数据应包含有关新客户端的信息。

为什么FontFactory.GetFont(“已知字体名称”,floatSize)不起作用?

如果我说: var georgia = FontFactory.GetFont(“Georgia Regular”, 10f); 它不起作用。 当我检查变量UNDEFINED的状态时,它将其Family属性设置为值UNDEFINED并将其FamilyName属性设置为Unknown 。 它只有在我实际加载并注册字体文件然后得到它时才有效: FontFactory.Register(“C:\\Windows\\Fonts\\georgia.ttf”, “Georgia”); var georgia = FontFactory.GetFont(“Georgia”, 20f); 这是为什么?

使用itextsharp将Pdf文件页面转换为图像

我想使用ItextSharp lib转换图像中的Pdf页面。 知道如何转换图像文件中的每个页面

如何使用所有者密码解密PDF文档?

我需要能够从某些PDF文档中删除安全性/加密,最好使用itextsharp库。 这曾经是可能的( 如何通过使用c#提供文件的密码作为参数来解密pdf文件 ),但对库的更新更新意味着解决方案不再有效。 我知道这可以通过Aspose PDF库( 示例 )来完成,但这似乎是一个昂贵的选择。 编辑 所以这一次我以为我拥有我用来测试这个文档的所有者密码。 但实际上我的密码是用户密码。 我认为它是所有者密码的原因是因为它作为所有者密码工作,其他值不起作用。 我相信用户密码代替用户密码的原因是PdfReader.unethicalreading字段设置为true (它是一个碰巧在代码中的其他地方设置的全局标志)。

PDF使用C#读取高亮度文本(突出显示注释)

我使用iTextSharp编写了一个提取工具,可以从PDF文档中提取注释信息。 对于高亮注释,我只得到页面上突出显示的区域的矩形。 我的目标是提取已突出显示的文本。 为此,我使用`PdfTextExtractor’。 Rectangle rect = new Rectangle( pdfArray.GetAsNumber(0).FloatValue, pdfArray.GetAsNumber(1).FloatValue, pdfArray.GetAsNumber(2).FloatValue, pdfArray.GetAsNumber(3).FloatValue); RenderFilter[] filter = { new RegionTextRenderFilter(rect) }; ITextExtractionStrategy strategy = new FilteredTextRenderListener(new LocationTextExtractionStrategy(), filter); string textInsideRect = PdfTextExtractor.GetTextFromPage(pdfReader, pageNo, strategy); return textInsideRect; PdfTextExtractor返回的结果并不完全正确。 例如,它返回“即将消除纸张追逐”,即使只突出显示“消除” 。 有趣的是,包含突出显示的“消除”的TJ的整个文本是“将要消除纸张追逐” (TJ是将文本写入页面的PDF指令)。 我很想听到有关此问题的任何意见 – 也包括不涉及iTextSharp的解决方案。

我的PDF字体名称中的多余字符是什么?

从pdf中提取字体名称时,我会得到一些垃圾字符,然后是加号,然后是字体名称和字体样式。 我想删除垃圾字符。只有少数pdf我得到垃圾字符。 例如:MMLPEO + RemingtonNoiseless string curFont = renderInfo.GetFont().PostscriptFontName;

iTextSharp国际文字

我在asp.net页面有一个表,并尝试将其导出为PDF文件,我有几个国际字符未在生成的PDF文件中显示,任何建议, 提前致谢

使用iTextSharp从PDF中删除水印

我使用Pdfstamper在pdf上添加了水印。 这是代码: for (int pageIndex = 1; pageIndex <= pageCount; pageIndex++) { iTextSharp.text.Rectangle pageRectangle = reader.GetPageSizeWithRotation(pageIndex); PdfContentByte pdfData = stamper.GetUnderContent(pageIndex); pdfData.SetFontAndSize(BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED), watermarkFontSize); PdfGState graphicsState = new PdfGState(); graphicsState.FillOpacity = watermarkFontOpacity; pdfData.SetGState(graphicsState); pdfData.SetColorFill(iTextSharp.text.BaseColor.BLACK); pdfData.BeginText(); pdfData.ShowTextAligned(PdfContentByte.ALIGN_CENTER, "LipikaChatterjee", pageRectangle.Width / 2, pageRectangle.Height / 2, watermarkRotation); pdfData.EndText(); } 这很好用。 现在我想从我的pdf中删除这个水印。 我查看了iTextSharp,但未能得到任何帮助。 我甚至尝试将水印添加为图层,然后删除图层,但无法从pdf中删除图层的内容。 我查看了iText的图层删除,发现了一个OCGRemover类,但是我无法在iTextsharp中获得等效的类。

使用iTextSharp 5.3.3和USB令牌签署PDF

我是iTextSharp(和StackOverFlow)的新手。 我正在尝试使用外部USB令牌在C#中签名PDF。 我尝试使用我从互联网上挖掘的以下代码。 Org.BouncyCastle.X509.X509CertificateParser cp = new Org.BouncyCastle.X509.X509CertificateParser(); //Get Sertifiacte X509Certificate2 certClient = null; X509Store st = new X509Store(StoreName.My, StoreLocation.CurrentUser); st.Open(OpenFlags.MaxAllowed); X509Certificate2Collection collection = X509Certificate2UI.SelectFromCollection(st.Certificates, “Please choose certificate:”, “”, X509SelectionFlag.SingleSelection); if (collection.Count > 0){ certClient = collection[0]; } st.Close(); //Get Cert Chain IList chain = new List(); X509Chain x509chain = new X509Chain(); x509chain.Build(certClient ); foreach […]