Tag: itext

如何在c#中使用Itext展平pdf?

我需要删除pdf的所有表单字段,所以我使用iText并尝试压缩pdf。 由于遗留代码,我仅限于iText 4.1.6.1版 我的代码是: public static byte[] RemoveAcroFields(String filename) { if (filename != null && File.Exists(filename)) { byte[] pdfFile = File.ReadAllBytes(filename); PdfReader reader = new PdfReader(pdfFile); MemoryStream stream = new MemoryStream(pdfFile); PdfStamper stamper = new PdfStamper(reader, stream); stamper.FormFlattening = true; stamper.Close(); var flattenedPdfBytes = stream.ToArray(); reader.Close(); stream.Close(); return flattenedPdfBytes; } else { return null; } […]

如何将HTML转换为XHTML转换以在iText C#中生成封闭标签

我使用类iTextSharp.tool.xml.XMLWorkerHelper将HTML格式的文本添加到ASP .NET C#项目的pdf文件中。 这是我的代码: Paragraph bookingTemplateDescriptionContent = new Paragraph(); desc.Content = desc.Content.Replace(“”, “”); //HACK : To avoid exception, replace the br tag in HTML formatted to XHTML formatted ElementList list = XMLWorkerHelper.ParseToElementList(desc.Content, null); foreach (var element in list) { foreach (Chunk chunk in element.Chunks) { chunk.Font = bookingTemplateDescFont; } bookingTemplateDescriptionContent.Add(element); } 但最近我得到一个例外: Invalid nested tag […]

插入文本然后合并pdf

我正在使用IText7版本7.0.2.2,我是新手,我正在尝试将几个pdfs同时合并到我首先上传的那个,这工作正常,问题是当我动态尝试在其中一个pdf中插入一些文本然后合并它,我正在使用PdfWriter将一些内容写入pdf然后尝试合并它,但我得到了这个exception: ‘Cannot copy indirect object from the document that is being written. 这是我正在使用的一些代码: private byte[] MergePdfForms( HttpPostedFileBase firstPdf, List sectionsAndPdf) { var dest = new MemoryStream(); PdfDocument pdf = new PdfDocument(new PdfWriter(dest)); PdfMerger merger = new PdfMerger(pdf); firstSourcePdf = new PdfDocument(new PdfReader(keyValuePair.Value), new PdfWriter(dest)); Document document = new Document(firstSourcePdf); document.Add(new Paragraph(sectionsAndPdf[i].Key).SetBackgroundColor(iText.Kernel.Colors.Color.GRAY)); merger.Merge(firstSourcePdf, 1, subPages); //I’m […]

将矩形添加到pdfpcell itextsharp中

如何使用itextsharp将具有特定宽度,高度和背景颜色的矩形添加到PdfPCell中? 像这样的东西: PdfPCell cell = new PdfPCell(); Rectangle rectangle = new Rectangle(); rectangle.Width = 50f; rectangle.BackgroundColor = BaseColor.RED; cell.AddElement(cell);

c#itextsharp如何获取数字签名图像

是否可以使用c#代码使用itextsharp在pdf文件中获取任何数字签名的图像? PdfReader pdf = new PdfReader(“location.pdf”); AcroFields acroFields = pdf.AcroFields; List names = acroFields.GetSignatureNames(); foreach (var name in names) { PdfDictionary dict = acroFields.GetSignatureDictionary(name); } 通过这些简单的线条,我可以获得签名词典,但是从这个对象我无法获得图像的内容。 有人可以帮忙吗?

在iTextSharp中的旋转PdfPCell中创建本地链接

我正在尝试使用iTextSharp在我的pdf中添加指向另一个页面的链接。 旋转单元格中的链接不起作用。 其他单元格按预期工作: FileStream fs = new FileStream(“TestPDF.pdf”, FileMode.Create, FileAccess.Write, FileShare.None); Document doc = new Document(); PdfWriter writer = PdfWriter.GetInstance(doc, fs); doc.Open(); PdfPTable linkTable = new PdfPTable(2); PdfPCell linkCell = new PdfPCell(); linkCell.HorizontalAlignment = Element.ALIGN_CENTER; linkCell.Rotation = 90; linkCell.FixedHeight = 70; Anchor linkAnchor = new Anchor(“Click here”); linkAnchor.Reference = “#target”; Paragraph linkPara = new Paragraph(); […]

使用c#和asp.net将HTML内容转换为Pdf

这里我试图将html div标签内的内容转换为pdf我发现以下错误: 输入字符串格式不正确 这是我尝试使用c#的代码: public string getWhileLoopData() { string htmlStr = “”; SqlConnection thisConnection = new SqlConnection(“Data Source=VELU-PC\\SQLEXPRESS;Initial Catalog=EEP;Trusted_Connection=True;”); SqlCommand thisCommand = thisConnection.CreateCommand(); thisCommand.CommandText = “select * from Product_category”; thisConnection.Open(); SqlDataReader reader = thisCommand.ExecuteReader(); while (reader.Read()) { string id = reader.GetString(6); string Name = reader.GetString(3); string Pass = reader.GetString(5); htmlStr += “” + Name + […]

ITextSharp 4.1.6。 PDF表 – 如何删除每个单元格顶部的空格?

我遇到了ITextSharp表的问题。 我想要没有顶部和底部填充的单元格,以便它们彼此靠近放置。 虽然我已将填充和单元格的前导设置为0,但仍保留了空白区域。 有谁请知道如何删除空白? 编辑: Thanx提示Dylan回答,我设法解决了我的问题。 如果有人遇到类似的问题,这是源代码段 Document document = new Document(PageSize.A4, 5, 5, 10, 10); using (FileStream fs = new FileStream(“C:\\Users\\brum\\Desktop\\untitled.pdf”, FileMode.Create)) { iTextSharp.text.pdf.PdfWriter.GetInstance(document, fs); document.Open(); PdfPTable table = new PdfPTable(2); PdfPCell cell = new PdfPCell(new Phrase(“Spanning 2 cols”)); cell.Colspan = 2; cell.HorizontalAlignment = 1; cell.Padding = 0f; cell.UseAscender = true; table.AddCell(cell); table.AddCell(“Next row […]

图像iTextSharp的边框不好

我使用iTextSharp将图像添加到pdf文档中。 当我为图像添加边框时,我会看到Image的一个像素部分(请看截图 ): 当我使用白色作为边框时,它是可见的。 我怎么能删除它? 我的代码 iTextSharp.text.Rectangle rec = new iTextSharp.text.Rectangle(PageSize.A4); iTextSharp.text.Document document = new iTextSharp.text.Document(rec); using (var writer = PdfWriter.GetInstance(document, new FileStream(“file.pdf”, FileMode.Create))) { document.Open(); iTextSharp.text.Image pic = iTextSharp.text.Image.GetInstance(“picture.jpg”); pic.ScaleToFit(document.PageSize.Width, document.PageSize.Height); pic.SetAbsolutePosition(0, (document.PageSize.Height – pic.ScaledHeight) / 2); pic.Border = Image.LEFT_BORDER | Image.TOP_BORDER | Image.RIGHT_BORDER | Image.BOTTOM_BORDER; pic.BorderWidthLeft = 20f; pic.BorderWidthTop = 20f; pic.BorderWidthRight = […]

iTextSharp – 如何打开/读取/提取文件附件?

我有一些PDF都带有两个带有静态名称的附加文件。 我想使用iTextSharp将这些文件解压缩到临时目录,以便我可以进一步使用它们。 我尝试按照本教程进行操作,但是当iTextSharp.text.pdf.PdfReader没有getCatalog()方法时,我遇到了问题,如下面的示例所示。 关于如何提取附件的任何建议? 让我们简单地说PDF文档位于“C:\ test.pdf”,两个附件存储为“attach1.xml”和“attach2.xml”。