Tag: itext

iTextSharp添加(css样式或css文件)并下载pdf文件

终于搞定了 var inputString = @” Customer Name Customer’s Address XYZ Bhubaneswar MNP Cuttack “; List cssFiles = new List(); cssFiles.Add(@”/Content/bootstrap.css”); var output = new MemoryStream(); var input = new MemoryStream(Encoding.UTF8.GetBytes(inputString)); var document = new Document(); var writer = PdfWriter.GetInstance(document, output); writer.CloseStream = false; document.Open(); var htmlContext = new HtmlPipelineContext(null); htmlContext.SetTagFactory(iTextSharp.tool.xml.html.Tags.GetHtmlTagProcessorFactory()); ICSSResolver cssResolver = XMLWorkerHelper.GetInstance().GetDefaultCssResolver(false); cssFiles.ForEach(i […]

如何使用iTextsharp在c#.net中逐行读取带有空格(实际上)的pdf文件

我正在使用iText(for .net)来阅读pdf文件。 它读取文档,但是当有空格时,它只读取一个空格。 这使得无法通过获取子串来提取数据。 我想逐行读取数据空白,所以我知道文本的实际位置,因为我想将数据写入数据库。 该文件是银行对帐单,我想将其转储到数据库中以设计对帐系统, 这是一个文件的屏幕截图 以下是我正在使用的代码 For page As Integer = 1 To pdfReader.NumberOfPages ‘ Dim strategy As ITextExtractionStrategy = New SimpleTextExtractionStrategy() Dim Strategy As ITextExtractionStrategy = New iTextSharp.text.pdf.parser.LocationTextExtractionStrategy() Dim currentText As String = PdfTextExtractor.GetTextFromPage(pdfReader, page, strategy) currentText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.[Default], Encoding.UTF8, Encoding.[Default].GetBytes(currentText))) Dim delimiterChars As Char() = {ControlChars.Lf} Dim lines As String() = […]

我想用ITextSharp签署pdf文档并返回ltv pdf启用文件

该方法接收pdf文档作为应该签名的字节数组,要签名的证书和TSA客户端,它将签名文档作为字节数组返回,如果有错误则返回null。 现在它返回签名的pdf文档,但它没有启用LTV。 签名文档必须启用LTV。 如何使文档返回LTV启用? 我会非常感谢任何建议。 public byte[] Sign(byte[] document, X509Certificate2 certificate, ITSAClient tsaClient) { byte[] signedDocument = null; IExternalSignature signature = new X509Certificate2Signature(certificate, “SHA-1”); Org.BouncyCastle.X509.X509CertificateParser cp = new Org.BouncyCastle.X509.X509CertificateParser(); Org.BouncyCastle.X509.X509Certificate[] chain = new Org.BouncyCastle.X509.X509Certificate[] { cp.ReadCertificate(certificate.RawData) }; PdfReader reader = new PdfReader(document); MemoryStream ms = new MemoryStream(); PdfStamper st = PdfStamper.CreateSignature(reader, ms, ‘\0’); PdfSignatureAppearance sap […]

iTextSharp库不从我的文件中提取文本

iTextSharp库(版本5.5.5)不从我的文件中提取文本。 我可以将pdf中的文本复制并粘贴到记事本中。 我将文件上传到此链接。 源代码非常简单,适用于其他pdf文件,但对于这个有问题的文件,我得到的是一些没有任何意义的字符。 var text = string.Empty; using (var file = new File.OpenRead(path)) { using (var reader = new PdfReader(file)) { for (int pageNumber = 1; pageNumber <= reader.NumberOfPages; pageNumber++) { text += PdfTextExtractor.GetTextFromPage(reader, pageNumber); } } } 任何帮助都非常感谢。

使用PdfCopy合并pdf文件

我需要在我的主pdf中添加多个pdf(每个页面)。 这些需要在特定页码之后添加,而不是附加到末尾。 我如何能 1:将pdf合并到特定页码 2:pdfCopy.AddDocument不可用。 我已经测试了5.4.3,5.4.5和5.5.10版本。 我在这里缺少什么? 所有人都说使用5.X我… ‘PdfCopy’ does not contain a definition for ‘AddDocument’ and no extension method ‘AddDocument’ accepting a first argument of type ‘PdfCopy’ could be found (are you missing a using directive or an assembly reference?) 3:当pageToInsert at大于源中的总页数时,如何处理? 我现在看了很多文档。 所有告诉使用PdfCopy和.AddDocument … 在c#.net中使用iTextSharp合并多个PDF http://weblogs.sqlteam.com/mladenp/archive/2014/01/10/simple-merging-of-pdf-documents-with-itextsharp-5-4-5.aspx 这是我第一次接受它…… using System; using System.Windows.Forms; using iTextSharp.text; […]

iTextSharp GetFieldPositions到SetSimpleColumn

我正在使用最新版本的iTextSharp: http : //sourceforge.net/projects/itextsharp/ 我在使用GetFieldPositions(fieldName)获取一些AcroField的位置后尝试使用ColumnText.SetSimpleColumn。 我可以找到的所有示例都显示GetFieldPositions返回一个float []但是这似乎不再是这种情况了。 它现在似乎是返回IList,它没有(根据Visual Studio)隐式转换为float []。 在0索引处的返回值内部是一个Rectangle的位置成员,但是由于我看到的示例在返回的float []上执行数学运算,我不确定GetFieldPostions中返回值的值是什么时候使用的使用SetSimpleColumn。 这是我正在引用的一篇文章: http : //blog.dmbcllc.com/2009/07/08/itextsharp-html-to-pdf-positioning-text/ 最简单的接受答案是如何将值从GetFieldPositions转换为SetSimpleColumn。 谢谢!

itextsharp读表

我使用itextsharp创建了一个包含表的pdf。 我在http://itextsharp.sourceforge.net/tutorial/ch05.html找到了一个例子。 现在我想使用itextsharp再次从表中读取数据。 我找不到有关如何读取此数据的任何文档。 有人能举个例子吗?

iTextSharp – 如何将文档转换为byte

我需要将我在内存中创建的pdf附加到电子邮件中。 附件可以采取流程。 所以我认为我需要将iTextSharp Document对象转换为流。 我怎样才能做到这一点? 我尝试将Document对象序列化为流,但它没有“标记为可序列化”。

iTextSharp for PDF – 如何添加文件附件?

我正在使用iTextSharp在C#中创建PDF文档。 我想将另一个文件附加到PDF。 我试图这样做有很多麻烦。 这里的例子显示了一些注释,显然是附件。 这就是我尝试过的: writer.AddAnnotation(its.pdf.PdfAnnotation.CreateFileAttachment(writer, new iTextSharp.text.Rectangle(100,100,100,100), “File Attachment”, its.pdf.PdfFileSpecification.FileExtern(writer, “C:\\test.xml”))); 那么,会发生什么呢?它会在PDF上添加注释(显示为一个小评论语音气球),这是我不想要的。 test.xml显示在Adobe Reader的附件窗格中,但无法读取或保存,并且其文件大小未知,因此可能永远不会正确附加。 有什么建议?

iTextSharp从字节数组列表中创建pdf

我有一个byte []列表,我希望将其连接成一个字节[],这将是最终的PDf。 在“page = copy.GetImportedPage(new PdfReader(p),i);”我得到一个“对象引用未设置为实例错误。 我不知道发生了什么,我已经检查了每个对象,并且没有空。 关于这个的任何想法,或另一段可以成功的代码?! 我有这个方法: 编辑 public static byte[] concatAndAddContent(List pdf) { byte [] todos; using(MemoryStream ms = new MemoryStream()) { Document doc = new Document(); doc.Open(); PdfCopy copy = new PdfCopy(doc, ms); PdfCopyFields copy2 = new PdfCopyFields(ms); PdfReader reader; foreach (byte[] p in pdf) { reader = new PdfReader(p); int […]