Tag: pdf generation

使用iTextSharp在PdfPCell中自动调整图像大小

我对iTextSharp库中的图像有一个奇怪的问题。 我正在将图像添加到PdfPCell中,并且由于某种原因它会被放大。 我如何保持原始尺寸? 这是 100%的PDF 图像 ,并在paint.net中打开原始大小的图像。 alt text http://sofzh.miximages.com/c%23/3kn.png我虽然打印时图像相同,但图片上的差异在打印版本上是相同的。 必须使用ScaleXXX手动缩放图像以使其向右移动似乎有点不合逻辑并且不会给出好的结果。 那么如何将图像的原始大小放在表格的PdfPCell中而不必缩放呢? 这是我的代码: private PdfPTable CreateTestPDF() { PdfPTable table = new PdfPTable(1); table.WidthPercentage = 100; Phrase phrase = new Phrase(“MY TITLE”, _font24Bold); table.AddCell(phrase); PdfPTable nestedTable = new PdfPTable(5); table.WidthPercentage = 100; Phrase cellText = new Phrase(“cell 1”, _font9BoldBlack); nestedTable.AddCell(cellText); cellText = new Phrase(“cell 2”, _font9BoldBlack); […]

使用itextsharp重新排序pdf文件中的页面

我正在尝试重新排序PDF文件中的几个页面。 我在博客中发现了一些代码但无法使其工作。 我有两页pdf,我想让最后一页显示为第一页。 我总是得到一个例外,说页码必须与订单匹配。 当我检查文档对象时,它显示0页。 但传入的PDF有两页。 public void reOrder(string inputFile) { Document document = new Document(); FileStream fs = new FileStream(inputFile, FileMode.Open); PdfWriter writer = PdfWriter.GetInstance(document, fs); document.AddDocListener(writer); writer.SetLinearPageMode(); int[] order = {2,1}; writer.ReorderPages(order); }

在iTextSharp中居中pdfimported页面

我通过iTextSharp使用以下function将PDF附加在一起。 它的工作正常。 唯一的问题是,大于文档(A4)的设置大小的PDF最终会缩放并放置在文档的左下角。 我想把它放在中心位置。 有人能指出我正确的方向来实现这一目标吗? 干杯。 private void appendPDF(appendDoc doc) { PdfContentByte pdfContentByte = pdfWriter.DirectContent; PdfReader pdfReader = null; if (doc.MemoryStream != null && doc.MemoryStream.CanRead) { pdfReader = new PdfReader(doc.MemoryStream); } else if (File.Exists(doc.FullFilePath)) { pdfReader = new PdfReader(doc.FullFilePath); } if (pdfReader != null) { for (int pageIndex = 1; pageIndex 1f) { iTextDocument.SetPageSize(PageSize.A4.Rotate()); } […]

从1页模板生成iTextSharp高效批量Pdf

我使用ITextSharp生成多页PDF,每个页面都有相同的模板。 问题是PDF按照模板的大小以Phisical Size增长。 我必须使用ACROFIELDS 。 如何减小最终文件大小? 这是pdf处理程序的代码片段: public void ProcessRequest(HttpContext context) { Context = context; Response = context.Response; Request = context.Request; try { LoadDataInternal(); } catch (System.Threading.ThreadAbortException) { // no-op } catch (Exception ex) { Logger.LogError(ex); Response.Write(“Error”); Response.End(); } Response.BufferOutput = true; Response.ClearHeaders(); Response.ContentType = “application/pdf”; if (true) { Response.AddHeader(“Content-Disposition”, “attachment; filename=” + (string.IsNullOrEmpty(DownloadFileName) ? […]

使用iTExtsharp将表添加到现有PDF中

我有一个PDF,因为有一个表是动态的表,我想在我现有的PDF中动态地在下面添加另一个表。 有没有办法在现有PDF中添加现有表格(不在文档末尾)的特定位置,然后我想添加我的表格。 我该如何添加? 请建议我一些好方法。 如下图所示。 谢谢,

如何从SQL Server生成文档(docx或pdf)?

我知道这有点主观,但我正在研究以下情况: 我需要从SQL Server数据库中的数据自动生成许多文档。 将在数据库上安装一个MVC3应用程序以允许数据输入等,并且(可能)有一个“Go”按钮来生成文档。 需要有一些关于如何创建,命名和存储这些文档的业务逻辑(例如,“父”文档获得一个名称并进入一个文件夹,“子”文档获得计算名称并进入子文件夹。 只要输出可以是EN-US和AR-QA(RTL文本),文档可以是PDF或Doc(x)(甚​​至两者) 我知道SSRS,Crystal Reports,VSTO,代码中的“手动”PDF,单词邮件合并等等有很多选项……如果有任何用途,我们已经有了HTML到PDF工具吗? 有没有人对如何解决这个以及“最好”(最实用)的方法有什么现实世界的建议? 我需要在服务器上安装和配置的“额外”越少越好 – 开发越快越好(一如既往!) 到目前为止的调查结果: Word Mail Merge(或VSTO)根本不提供我所需要的简单性,控制性和灵活性 – 真的很遗憾。 很高兴定义一个dotx并能够在单独的基础上将数据传递给它以生成docx。 只有我能够实现这一点(我可能在这里错了)是通过名称循环控制/书签并替换值……凌乱。 OpenXML基于dotx模板创建文档,即使使用OpenXML也不如(IMHO)那么简单。 您必须按名称替换每个Content控件,因此维护不是最简单的任务。 SSRS从表面上看 ,这是一个很好的解决方案(尽管它需要SQL Enterprise),但是如果你想动态生成文件夹和文档,它会变得更加复杂。 数据驱动的订阅非常接近我想要的。 Winnovative HTML to PDF Convertor *这是我们已经拥有的工具(尽管是.Net 2.0版本)。 这允许我生成HTML页面并将它们转换为PDF。 对我来说是一个不错的选择,因为我可以在MVC3网站上运行它并将参数传递给控制器​​以生成PDF。 这使我对文件夹和命名结构进行了更细粒度的控制 – 这种方法的问题只是以正确的方式生成页面。 奖金是它自动给我一个“预览”……基本上只是HTML页面!

保持桌子整体MigraDoc / PDFsharp

我正在使用PDFsharp / MigraDoc将表格和图表写入PDF文件。 到目前为止,这种方法很有效,但是当它将整个表格移动到文档中的下一页时,MigraDoc将始终(垂直地)分割我的表格。 如何确保桌子保持整体? MigraDoc.DocumentObjectModel.Tables的表类具有bool KeepTogether属性,但它似乎没有效果(设置为true或false)。 有没有办法手动完成? 有没有办法“测量”距离页面末端的距离并将其与表格高度进行比较? (或任何其他方式知道桌子是否会分开) 请注意,我是第一次使用PDFsharp / MigraDoc。 如果有任何我应该知道的最佳实践,请告诉我。 如果那里有一些很好的例子(我在PDFSharp的主页上看过那些,但那是关于它的)我很想知道它们!

如何将表添加为标题?

我正在使用iTextSharp尝试为我生成的PDF添加页眉和页脚,但是,如果我尝试添加宽度为页面100%的页眉,我会遇到一些问题。 所以我做了以下事情: 1)我创建了一个名为PdfHeaderFooter的类,它扩展了iTextSharp PdfPageEventHelper类 2)进入PdfHeaderFooter我已经实现了生成标头的OnStartPage()方法: // write on start of each page public override void OnStartPage(PdfWriter writer, Document document) { base.OnStartPage(writer, document); PdfPTable tabHead = new PdfPTable(new float[] { 1F }); PdfPCell cell; //tabHead.TotalWidth = 300F; tabHead.WidthPercentage = 100; cell = new PdfPCell(new Phrase(“Header”)); tabHead.AddCell(cell); tabHead.WriteSelectedRows(0, -1, 150, document.Top, writer.DirectContent); } 如果我使用像tabHead.TotalWidth = 300F那样的东西; insted […]

以编程方式打印到PDF打印机

我正在寻找一个免费的开源.Net, 最好是C# ,pdf打印机,如CutePDF的Custom PDF Writer,具有编程访问权限 ,允许我将xps文档保存为pdf格式。 我找到了许多能够将xps文档转换为pdf格式的替代品,但它们不是开源的。 我很想知道是否有人知道一个允许我完成此任务的开源库。

将文件附加到PDF

我正在努力将文件附加到我在运行时生成的PDF。 我在MVC框架中使用C#ASP.net。 我最初使用HTML视图从HTML视图创建PDF,但后来我意识到,我还需要将文件附加到PDF。 我转而使用iText,我已经设法使用iTextSharp for PDF的解决方案将文件附加到PDF – 如何添加文件附件? 我现在遇到的问题是我似乎无法将这些附件作为PDF中的链接引用。 “iText in Action”一书建议我可以使用注释或文档级附件。 我发现这本书很容易理解,或者代码很容易理解。 在互联网上的文章方式似乎也几乎没有帮助,但道歉是我错过了什么。 这是我第一次在这里提出问题,所以如果我做错了,我会道歉。