我使用iTextSharp在PDF中添加了图像和一些文本.但是,我想将图像和文本定位在PDF中的特定位置.我该怎么做? 到目前为止,我尝试过, img.SetAbsolutePosition(10000f,10000f); 但它不起作用. 这是我生成PDF的完整代码, private void generatepdf(byte[] byteImage) { //byte[] imageBytes = Convert.FromBase64String(base64); string text1= "Some Text"; iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(byteImage); image.ScalePercent(0.3f * 100); string logopath = Server.MapPath("~/imag
以下是关于 itextsharp 的编程技术问答
我第一次尝试使用itextSharp(),并且我在PDF文档中创建表格. 的确,我想对角线分开第一个单元格,以在第一行的标题和第一列的标题中写入. 图1是我可以做的 图2是我想做的 谢谢. stack.imgur.com/yk77e.png" rel =" nofollow">图片2 解决方案 您需要使用 cell事件创建该特殊单元格" rel =" nofollow noreferrer">官方文档. 我会给您一些伪代码,您可以将其转换为C#,并创建一个看起来像这样的表: 这是单元事件的伪代码: class Diagonal implements PdfPCellEvent { protected String columns; protected String rows; public Diagonal(String columns, String rows) { this.columns = colum
使用itextSharp,我想获得示例或帮助,以便使用VB Express中的VB.NET(Windows form)编号现有PDF文档的每个页面. 解决方案 op表示c#示例也足够: webified ItextSharp示例 twopasses.cs (在评论"第二次通过,添加标头")添加 page page x y (和标题 foobar filmfestival )的标题每个文档页面. 关键代码: PdfReader reader = new PdfReader(SOURCE_PDF); using (MemoryStream ms2 = new MemoryStream()) { // Create a stamper using (PdfStamper stamper = new PdfStamper(reader, ms2)) { // Loop over the pages and add a header to
我正在尝试使用我的C#软件创建PDF文件.我正在使用itextsharp库来创建客户账单收据. 但是,我无法格式化文本.我们如何在PDF文件中格式化文本.只有新的线字符\n似乎在起作用.我们如何使用标签字符格式化文本? 附件是PDF文件中文本的屏幕截图. 非常感谢您的帮助. 解决方案 很抱歉,但是我必须与Cuong Le相矛盾,ItextSharp确实支持Tab块.请下载 http://wwwww.manning.com/lowagie.com/lowagie2/samplechapter2.pdf 对于标题为" Tab块"的部分(第2.2.6节的一部分). 当您要求使用C#解决方案时,让我从需要的ItextSharp复制粘贴方法: /** * Creates a tab Chunk. * Note that separator chunks can't be used in combination with tab chunks! * @pa
我正在使用ItextSharp产品来更改PDF属性,如下所示. 我根本无法更改" PDF生产商"属性.请建议,我在哪里弄错了. 代码行 info ["生产者"] ="我的生产者"; 无法正常工作. string sourcePath = tbPath.Text; IList dirs = null; string pdfName = string.Empty; string OutputPath = string.Empty; DirectoryInfo di = new DirectoryInfo(sourcePath); DirectoryInfo dInfo = Directory.CreateDirectory(sourcePath + "\\" + "TempDir");
我在这里和" Itext in Action In"书中找到了许多解决方案,可以使用PDFCopy和PDFSMARTCOPY课程合并PDF,但是我看到的唯一类似的问题是我看到的,那个家伙自己就解决了,但没有t发布答案.这篇文章使用ItextSharp 提出相同的问题,但最终提出了一个问题,因此他们建议关闭现有文档,然后使用PDFCopy,在这里我想在此处插入它.所以来了. 我正在使用普通部分,短语,文档和PDFWRITER类创建带有文本和图像的ItextSharp文档.这是多年来编写的代码,正常工作.现在,如果不可能,我们需要在创建本文档作为新部分或章节时插入现有的PDF.我将PDF作为字节数组,因此获得PDFReader没有问题.但是,我无法弄清楚如何读取PDF并将其插入我所在的位置.如果需要,我可以访问PDFWRITER,但是对于其余的文档,所有访问都是通过各节.这是我所拥有的,如果需要时,我可以将PDFWriter添加为另一个参数. 我已经取得了一些进展,从原始帖子开始
我正在使用Nuget(5.5.8)的最新iTextSharp lib从PDF文件中解析一些文本.我面临的问题是GetTextFromPage方法不仅返回该页面的文本,还可以从上一页返回文本.这是我的代码: var url = "https://www.oslo.kommune.no/getfile.php/Innhold/Politikk%20og%20administrasjon/Etater%20og%20foretak/Utdanningsetaten/Postjournal%20Utdanningsetaten/UDE03032016.pdf"; var strategy = new SimpleTextExtractionStrategy(); using (var reader = new PdfReader(new Uri(url))) { for (var page = 1; page
我想创建一个不可见的ItextSharp的文本字段.这是我用来创建文本字段的代码: TextField field = new iTextSharp.text.pdf.TextField(writer, new iTextSharp.text.Rectangle(x, y - h, x + w, y), name); field.BackgroundColor = new BaseColor(bgcolor[0], bgcolor[1], bgcolor[2]); field.BorderColor = new BaseColor(bordercolor[0], bordercolor[1], bordercolor[2]); field.BorderWidth = border; field.BorderStyle = PdfBorderDictionary.STYLE_SOLID; field.Text = text; writer.AddAnnotation(field.Ge
我必须将来自PDF文件的数据放在某个数据库结构中.这要求我能够从PDF文件中获取某些数据.由于PDF没有任何标签等...我想知道是否可以根据颜色获得文本.例如,我想要所有的红色文字.或者我想要文档中的所有斜体文本.这在C#中可以吗?还是有其他方法可以轻松地在PDF文档中过滤数据? 解决方案 我采用了另一种方法.我将PDF转换为Excel文件.这很容易搜索彩色文本 其他解决方案 通过使用此库 .com/kb/files/xpdf_csharp.aspx?msg = 3154408 您可以访问每个单词样式(字体,颜色...) this.pdfDoc.Pages[4].WordList.ElementAt(143).ForeColor 其他解决方案 itext的pdftextextractor(以及其所有代码)都不会跟踪当前颜色.哎哟. 很难添加,因此您可以自己修改Itext: 在GraphicState类中添加冲程并填充颜色成员(并适当更新各种构造函数).
我正在使用itextSharp将页码添加到带有C#的PDF中.在运行代码分析时,怀疑输出的MemoryStream被怀疑不止一次处置. 请参阅Visual Studio生成的此警告.这是一个API问题吗? PdfStamper的第二个参数是否应该标记为out?我有办法解决此警告吗? MemoryStream mem = null; PdfReader reader = null; PdfStamper stamper = null; try { mem = new MemoryStream(); reader = new PdfReader(m_pdf); stamper = new PdfStamper(reader, mem); // do stuff stamper.Close(); var result = mem.ToArray(); } finally { if(stamper !
我正在编写一个用于可视化测量数据的软件.为此,我使用system.windows.forms.datavisualization.charting.chart. 我的软件应具有应包括图片的PDF导出.为此,我正在使用ItextSharp.同样,我确实知道如何将我存储在文件中的图片iTextSharp.text.image.getInstance. 因此,到目前为止,我能够拍摄图表的图片,将其放在文件(例如.jpg文件)上,然后再次加载此文件以将其放入我的PDF中.现在,我正在寻找一个不错的解决方案,将图片放入PDF而不将其存储到文件中,也许是通过流或类似的内容.我已经尝试了很多时间,但是直到现在我还没有成功.我想到了 Stream imageStream = image of chartObj; iTextSharp.text.Image picture = iTextSharp.text.Image.GetInstance(imageStream); 据我了解, 我
我正在尝试从文本字符串生成条形码,然后使用itextSharp PDF结果.现在,我有以下代码: // Create a Document object var pdfToCreate = new Document(PageSize.A4, 0, 0, 0, 0); // Create a new PdfWrite object, writing the output to a MemoryStream var outputStream = new MemoryStream(); var pdfWriter = PdfWriter.GetInstance(pdfToCreate, outputStream); PdfContentByte cb = new PdfContentByte(pdfWriter); // Open the Document for writing pdfToCreate.Open(); PdfPTable BarCodeTable = new Pdf
我正在使用itextSharp将数据置于PDF表中.我可以使用下面发布的示例代码将数据导出到PDF表.该数据词包含接近21列. PDF(DataTable)中的第一列可能包含任何数量的行的相似值.如果一组行的第一列中的数据值相似,我想将这些行的前3列合并为一个单元格. 我在修改以下代码以实现此目标时遇到了麻烦. public iTextSharp.text.Table GetItextTable(DataTable dtChartData, string reportType) { int intCols = dtChartData.Columns.Count; //Total number of columns int intRows = dtChartData.Rows.Count; //Total number of rows iTextSharp.text.Table pdfTable = new iT
我尝试解析HTML文件并生成PDF.我使用代码 document.Open(); HtmlPipelineContext htmlContext = new HtmlPipelineContext(null); htmlContext.SetTagFactory(Tags.GetHtmlTagProcessorFactory()); ICSSResolver cssResolver = XMLWorkerHelper.GetInstance().GetDefaultCssResolver(true); IPipeline pipeline = new CssResolverPipeline(cssResolver, new HtmlPipeline(htmlContext, new PdfWriterPipeline(document, writer))); XMLWorker worker = new XMLWorker
我有一个html表单,其中包含lable和文本框. 填写此表格后,将其导出到PDF. 所有标签文本均已导出.但是文本框文本未导出到PDF. 代码 protected void btnExportPDF_Click(object sender, EventArgs e) { Response.ContentType = "application/pdf"; Response.AddHeader("content-disposition", "attachment;filename=DecForm.pdf"); Response.Cache.SetCacheability(HttpCacheability.NoCache); StringWriter sw = new StringWriter(); HtmlTextWriter hw = new HtmlTextWriter(sw); this.divToPdf.Ren
我们通过传递泰米尔语文本(印度语言之一)来创建C#应用程序.下面提到的PGM,创建的PDF文件不包含任何泰米尔字体显示.它显示空行而不是泰米尔文本... c#代码: Document document = new Document(); PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(@"C:\pdfout.pdf", FileMode.Create)); document.Open(); PdfContentByte pcb = writer.DirectContent; Font ft = new Font(); FontFactory.Register(@"C:\WINDOWS\Fonts\AVVAIYAR.TTF", "AVVAIYAR"); ft = FontFactory.GetFont("AVVAIYAR"); Paragraph pr1 = new Paragraph("இ
我正在从事一个项目,我需要在其中编辑PDF之前 我需要 添加水印 编辑权限(锁定"复制/粘贴"和"另存为") 编辑查看器首选项 我做到了...除了一件事外,原始文件中的链接在新文件中不起作用...任何想法? 注意:实际上,这是我的代码(我正在使用itextsharp) private void loadPdf() { if (Request.QueryString.HasKeys()) { if (Request.QueryString.GetKey(0) == "thepath" && Request.QueryString.GetKey(1) == "isprintable" && Request.QueryString.GetKey(2) == "type") { #region kuak
我在我的C#Winform应用程序中使用ItextSharp.我想在PDF文件中获取特定段落.这是否可以在ItextSharp? 中 解决方案 是,否. 首先. PDF格式没有文本结构(例如段落,句子甚至单词)的概念,它只是文本.两次文本彼此接近,因此我们认为它们是结构化的事实,这是人类的事物.当您在PDF中看到看起来像三行段落的东西时,实际上,生成PDF的程序实际上完成了将文本切成三条无关的文本线的工作,然后将每行以特定的x,y坐标拉开.更糟糕的是,根据设计师的需求,每条文本都可以由较小的跑步组成,即可能是单词甚至是字符.因此,它可能是draw "the cat in the hat" at 10,10,也可能是draw "t" at 10,10, then draw "h" at 14,10, then draw "e" at 18,10,依此类推.实际上,这对于来自Adobe Indesign等经过精心设计的程序的PDF非常常见. 现在是.实际上是一个.如果您愿意
我在我的文档上添加了一个标题和一个页脚. . 该文档在运行时填充了几张"大"表. 我试图简单地添加这些表格" documen.add(table)",但是我的标题和页脚结果覆盖了. 我已经尝试了这两种方法添加表(WriteselectedRows和document.Add(mypdfptable). 这是pageventhper的代码: private class MyPageEventHandler : PdfPageEventHelper { public iTextSharp.text.Image ImageHeader { get; set; } public iTextSharp.text.Image ImageFooter { get; set; } public override void OnEndPage(PdfWriter writer, Document document)
我需要将几个(读:很多)PDF文件发布到网络上,但是其中许多文件具有硬编码文件://链接和链接到非公共位置.我需要阅读这些PDF,并更新指向正确位置的链接.我已经开始使用ItextSharp编写一个应用程序来读取目录和文件,找到PDF并遍历每个页面.接下来我需要做的是找到链接,然后更新错误的链接. string path = "c:\\html"; DirectoryInfo rootFolder = new DirectoryInfo(path); foreach (DirectoryInfo di in rootFolder.GetDirectories()) { // get pdf foreach (FileInfo pdf in di.GetFiles("*.pdf")) { string contents = string.Empty; Document doc = new Document();