Tag: itext

ItextSharp,单元格的数量不能按行长度分割

我目前正在开发一个C#项目,它要求我制作一个动态表。 (程序的用户可以决定一行包含多少个单元格。) 我已经想到了这一点,但问题来了。 例如,用户想要以3行显示的数据,但有5件事需要显示,它只会显示前3个,最后2个消失。 我怎样才能使得如果单元格的数量不能除以行的长度(如4行,3行或5行,行为2),则添加一个空单元格,以便最后一行是还显示(或显示单元格不足以填充该行的最后一行的任何其他修复)? 示例代码: PdfPTable card = new PdfPTable(3); card.AddCell(“Row 1 cell 1”); card.AddCell(“Row 1 cell 2”); card.AddCell(“Row 1 cell 3”); card.AddCell(“Row 2 cell 1”); card.AddCell(“Row 2 cell 2”); card.AddCell(“Row 2 cell 3”); card.AddCell(“Row 3 cell 1 Not showing”); card.AddCell(“Row 3 cell 2 Not showing”); doc.Add(card);

如何使用ItextSharp检索数字签名信息(名称,日期……)

我有一个由2人(Eid)签名的PDF。 我正在尝试检索这些信息,但到目前为止我还不能。 这是我到目前为止: namespace ConsoleApplication1 { class Program { static void Main(string[] args) { string workingFolder = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); string inputFile = Path.Combine(workingFolder, “Tax Return.pdf”); PdfReader reader = new PdfReader(inputFile); Console.ReadLine(); } } } 如果我在运行期间检查’reader’,我可以看到AcroForm有2个指向签名的字段,但我无法看到有关这些签名的任何特定信息。

无法垂直对齐表格单元格中的文本与itextsharp

我无法弄清楚如何垂直对齐表格单元格中的文本。 水平对齐没问题。 我使用itextsharp生成pdf。 对齐应该应用于表kitosKalbosTable中的单元格。 任何帮助,将不胜感激。 这是我的代码: var table = new PdfPTable(new float[] { 36, 1, 63 }); table.WidthPercentage = 100.0f; table.HorizontalAlignment = Element.ALIGN_LEFT; table.DefaultCell.Border = Rectangle.NO_BORDER; table.SplitRows = false; ……… PdfPTable kitosKalbosTable = new PdfPTable(new float[] {10, 30}); kitosKalbosTable.TotalWidth = 40f; kitosKalbosTable.SplitRows = false; kitosKalbosTable.AddCell(“Kalba”, FontType.SmallTimes, vAligment: Element.ALIGN_MIDDLE, hAligment: Element.ALIGN_CENTER); ………. table.AddCell(kitosKalbosTable); //method in other […]

如何创建一个iTextSharp.text.Image对象startng到System.Drawing.Bitmap对象?

我是iTextSharp ( iText的C#版本)的新手: 我有这样的事情: System.Drawing.Bitmap bitmap = (System.Drawing.Bitmap)ChartHelper.GetPdfChart((int)currentVuln.UrgencyRating * 10); iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(bitmap); vulnerabilityDetailsTable.AddCell(new PdfPCell(img) { Border = PdfPCell.RIGHT_BORDER, BorderColor = new BaseColor(79, 129, 189), BorderWidth = 1, Padding = 5, MinimumHeight = 30, PaddingTop = 10 }); 正如你所看到的,我有经典的System.Drawing.Bitmap immage命名为bitmap ,我想将它放在PDF文档表的单元格中。 问题是此行被签名为错误: iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(bitmap); 错误是: 错误75’iTextSharp.text.Image.GetInstance(iTextSharp.text.Image)’的最佳重载方法匹配包含一些无效参数c:\ Develop \ EarlyWarning \ public \ […]

使用iTextSharp将图像转换为PDF保留剪切路径

我们希望以编程方式将图像批量转换为PDF。 到目前为止看起来我们将使用iTextSharp,但我们遇到了带剪切路径的JPG图像问题。 我们在测试中使用以下代码: using (FileStream fs = new FileStream(output, FileMode.Create, FileAccess.Write, FileShare.None)) { using (Document doc = new Document()) { using (PdfWriter writer = PdfWriter.GetInstance(doc, fs)) { doc.Open(); iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(source); image.SetAbsolutePosition(0, 0); doc.SetPageSize(new iTextSharp.text.Rectangle(0, 0, image.Width, image.Height, 0)); doc.NewPage(); writer.DirectContent.AddImage(image,false); doc.Close(); } } } JPG图像中的剪切路径似乎只是被丢弃了。 有没有办法保留剪切路径? 另外,当调用AddImage时,InlineImage有一个选项,任何人都知道这是做什么的?

iTextSharp CreateInk方法:曲线和角点

我正在使用iTextSharp使用PdfAnnotation.CreateInk在PDF文档中绘制标记图形。 我正在尝试绘制矩形,传递五个坐标的数组。 我知道iTextSharp有一个绘制矩形的专用函数,但我只想用一种方法来绘制我需要的各种标记行,而CeateInk似乎应该能够做到这一点。 问题是CreateInk用曲线而不是角绘制矩形。 我一直无法弄清楚如何改变这一点。 这个答案表明解决方案可能是创建一个PdfAppearance; 我还没弄清楚这是否有效。 这是我的代码(第一位将列表列表转换为数组数组,InkList需要): public void MarkupInk(List<List> InkList){ float[][] Coords = new float[InkList.Count][]; for (int i = 0; i < InkList.Count; i++) { float[] thisarr = InkList [i].ToArray (); Coords[i] = new float[InkList[i].Count]; System.Array.Copy (thisarr, Coords [i], InkList [i].Count); } using(MemoryStream ms = new MemoryStream ()){ PdfReader reader = new PdfReader […]

使用iTextSharp编辑现有PDF文件

我有一个pdf文件,我正在使用以下编码将其转换为文本进行处理。 ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy(); string currentText = PdfTextExtractor.GetTextFromPage(pdfReader, page, strategy); currentText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(currentText))); 在处理期间,如果我在内容中看到任何类型的歧义意味着PDF文件的数据中的错误,我必须标记pdf的整行(颜色与红色的行)文件,但我无法分析如何实现这一点。 请帮我。

如何使用iText \ iTextSharp创建圆角桌?

我必须创建一个圆角的桌子,类似于: 我可以用iTextSharp做到吗?

“文档未打开”仅在使用iTextSharp的生产中出错

我在iTextSharp中收到“文档未打开”错误,但仅限于生产中。 代码在我的开发机器和分段上运行良好。 我在舞台服务器上的Temp文件夹中设置了相同的权限。 public static byte[] ConvertHtmlToPdf(string html) { html = HtmlPostProcessor.Process(html); byte[] fileData = null; string tempPath = ConfigurationManager.AppSettings[“TempDirectory”]; string tempPDFFile = Path.Combine(tempPath, Guid.NewGuid() + “.pdf”); int num = FontFactory.RegisterDirectory(@”C:\Windows\Fonts”); using (FileStream fs = new FileStream(tempPDFFile, FileMode.Create)) { using (Document document = new Document(PageSize.LETTER, 50, 50, 50, 50)) { document.Open(); PdfWriter.GetInstance(document, fs); using (StringReader […]

如何将iTextSharp.text.Image大小调整为我的代码?

我是iText和iTextSharp ( iText的C#版本)的新手,我有以下问题。 我在我的PDF中插入了一些jpg图表。 这些图表由一些像这样的jpg呈现: 我以这种方式将其插入到PDF的表格中: iTextSharp.text.Image img = null; …………………………………… …………………………………… …………………………………… if (currentVuln.UrgencyRating > 0) { img = ChartHelper.GetPdfChartV2((int)currentVuln.UrgencyRating * 10, _folderImages); vulnerabilityDetailsTable.AddCell(new PdfPCell(img) { Border = PdfPCell.RIGHT_BORDER, BorderColor = new BaseColor(79, 129, 189), BorderWidth = 1, Padding = 5, MinimumHeight = 30, PaddingTop = 10 }); } 这是GetPdfChartV2()方法的一部分,我在其中加载图表immage: public static iTextSharp.text.Image GetPdfChartV2(int […]