Tag: itextsharp

iTextSharp XMLWorker解析真的很慢

我正在使用以下代码在我的WPF应用程序中使用iTextSharp XMLWorker解析HTML字符串: var css = “”; using (var htmlMS = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(html))) { //Create a stream to read our CSS using (var cssMS = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(css))) { //Get an instance of the generic XMLWorker var xmlWorker = XMLWorkerHelper.GetInstance(); //Parse our HTML using everything setup above xmlWorker.ParseXHtml(writer, doc, htmlMS, cssMS, System.Text.Encoding.UTF8, fontProv); } } 解析工作正常但速度很慢,解析HTML大约需要2秒钟。 因此,对于50页的pdf,大约需要2分钟。 […]

使用iTextSharp获取复选框的导出值

我正在使用ITextSharp动态填写pdf文档中的字段。 我希望能够确定复选框的“导出值”来自代码隐藏,以便确定在应该检查时向该复选框发送什么值。 我过去使用过的大多数文档对每个复选框都有相同的导出值,但我正在使用的文档因复选框而异。 我可以浏览所有文本框并使它们保持一致但如果我能确定这些复选框在运行时的导出值并相应地设置它们,将来会节省很多时间。 提前致谢! 我尝试在C#中实现下面的解决方案,最后得到以下代码: public string GetCheckBoxExportValue(AcroFields pdfDocument, string checkBoxFieldName) { AcroFields.Item item = pdfDocument.GetFieldItem(checkBoxFieldName); if (item.values.Count > 0) { PdfDictionary valueDict = item.GetValue(0); PdfDictionary appearanceDict = valueDict.GetAsDict(PdfName.AP); // if there’s an appearance dict at all, one key will be “Off”, and the other // will be the export value… there should only […]

使用C#使用iTextsharp突出显示现有PDF的文本(颜色)

我想知道我们是否可以使用itextsharp突出显示已创建PDF文本(颜色)? 我看到了创建新PDF等示例,同时我们可以应用颜色。 我正在寻找可以从PDF获取大量文本并应用颜色并保存的地方。 这是我想要完成的事情,阅读PDF文件,解析文本并根据业务规则突出显示文本。 任何第三方dll建议也有效,作为我正在寻找opensource iTextsharp library 。

Itextsharp文本提取

我在vb.net上使用itextsharp从pdf文件中获取文本内容。 该解决方案适用于某些文件,但不适用于其他甚至非常简单的文件。 问题是令牌字符串值设置为null(一组空方框) token = New iTextSharp.text.pdf.PRTokeniser(pageBytes) While token.NextToken() tknType = token.TokenType() tknValue = token.StringValue 我可以确保内容的长度,但我无法获得实际的字符串内容。 我意识到这取决于pdf的字体。 如果我使用Acrobat或PdfCreator和Courier创建一个pdf(顺便说一句,这是我的visual studio编辑器中的默认字体),我可以获得所有文本内容。 如果使用不同的字体构建相同的pdf,我得到空的方框。 现在的问题是,无论字体设置如何,我如何提取文本? 谢谢

使用iTextsharp.dll生成PDF时不应用CSS

我使用iTextSharp.dll生成PDF,但问题是我无法应用该CSS。 我有一个div: Personal Data 现在我的.aspx.cs代码是这样的: iTextSharp.text.html.simpleparser.StyleSheet styles = new iTextSharp.text.html.simpleparser.StyleSheet(); styles.LoadTagStyle(“#headerdiv”, “height”, “30px”); styles.LoadTagStyle(“#headerdiv”, “font-weight”, “bold”); styles.LoadTagStyle(“#headerdiv”, “font-family”, “Cambria”); styles.LoadTagStyle(“#headerdiv”, “font-size”, “20px”); styles.LoadTagStyle(“#headerdiv”, “background-color”, “Blue”); styles.LoadTagStyle(“#headerdiv”, “color”, “White”); styles.LoadTagStyle(“#headerdiv”, “padding-left”, “5px”); HTMLWorker worker = new HTMLWorker(document); worker.SetStyleSheet(styles); // step 4: we open document and start the worker on the document document.Open(); worker.StartDocument(); // step 5: […]

使用iTextSharp在句子中加一个单词

是否可以使用iTextSharp在句子中加粗单个单词? 我试图加粗几个单词而不必将字符串分成单个短语。 我想要这种类型的出局 例如: 取消原因:见本法背面第1号法令指定的法定理由。 我的实际输出低于 例如:取消原因:见本法背面第1号法令指定的法定理由。 码 pdftb4 = new PdfPTable(1); pdftb4.WidthPercentage = 100; width = new float[1]; width[0] = 0.7F; pdftb4.SetWidths(width); pdfcel4 = new PdfPCell(new Phrase(“\n REASON(S) FOR CANCELLATION: See Statutoryreason(s) designated by Code No(s) 1 on the reverse side hereof”, docBlackFont10)); pdfcel4.Border = 0; pdfcel4.HorizontalAlignment = Element.ALIGN_LEFT; pdftb4.AddCell(pdfcel4); objDocument.Add(pdftb4); 有人请帮帮我

使用iTextSharp在C#中旋转PDF

我使用以下函数将pdf分成两部分。 虽然它正在分割PDF格式,但内容却显得颠倒了。 如何将其旋转180度。 请帮忙。 下面是相同的代码 private static void ExtractPages(string inputFile, string outputFile, int start, int end) { // get input document PdfReader inputPdf = new PdfReader(inputFile); // retrieve the total number of pages int pageCount = inputPdf.NumberOfPages; if (end pageCount) { end = pageCount; } // load the input document Document inputDoc = new Document(inputPdf.GetPageSizeWithRotation(1)); […]

展平后AcroForm值丢失

我正在使用LibreOffice 4.1.3.2来生成可填写的PDF: 创建了一个Writer文档 设置一些文本和测试字段 导出为PDF 使用Acrobar Reader打开pdf文件会显示正确的可填写pdf。 接下来我使用iTextSharp 5.4.5填充字段并保存展平文档: var pdf = new PdfReader(srcFilename); using (var fw = new FileStream(dstFilename, FileMode.Create)) { var stamper = new PdfStamper(pdf, fw); var f = stamper.AcroFields; f.SetField(“field1”, “John Doe”); f.SetField(“field2”, “12/04/2013”); stamper.FormFlattening = true; stamper.Close(); } pdf.Close(); 问题是填充的字段值在新文档中完全消失! 我认为没有找到或填充字段,但发现评论stamper.FormFlattening = true字段值在保存的pdf中! 当然,我需要一个平坦的PDF格式… 这有解决方案吗?

“OnEndPage”事件处理程序中的“’System.StackOverflowException”

在下面的代码中,您可以看到我覆盖了OnEndPage事件并尝试在文档中添加一个段落。 但是,尝试运行代码时出现“System.StackOverflowException”错误。 有谁知道为什么会这样,我该如何解决? public override void OnEndPage(PdfWriter writer, Document document) { base.OnEndPage(writer, document); Paragraph p = new Paragraph(“Paragraph”); document.Add(p); }

将inheritance缩放(动作属性)设置为pdf文件中的书签

我使用以下代码在pdf文件中找到了书签的数量。 var reader = new PdfReader(System.Windows.Forms.Application.StartupPath + “\\zoom.pdf”, new System.Text.ASCIIEncoding().GetBytes(“”)); IList<Dictionary> bookmarks = SimpleBookmark.GetBookmark(reader); foreach (Dictionary bk in bookmarks) { string bjj = bk.Values.ToArray().GetValue(0).ToString(); } 但我需要在pdf文件中为书签设置inheritance缩放操作属性。 请告诉我从上面的代码或C#中的任何其他示例代码做