Tag: pdfsharp

PDF文件是否包含iref流?

我仍然与PDF文件中的读取数据作斗争。 我使用PDFsharp,如何在没有使用方法Open的情况下检查文件是否包含iref流。 如果文件包含iref流,则方法Open抛出exception。

PdfSharp – 在Acrobat中打开文档时,PDF页面设置错误

我编写了一段使用PdfSharp库的代码。 PdfSharp.Pdf.PdfDocument的实例已按预期保存到磁盘。 显示正确的内容,但显示错误的页面设置。 PdfSharp的默认页面设置为: PdfSharp.PageSizes.A4 PdfSharp.PageOrientation.Portrait 我的问题是这些设置似乎覆盖了所需的设置。 我创建了PdfDocument类的实例,并在其Pages集合属性中添加了一个新的PdfPage类实例。 然后,我像这样设置页面: PdfDocument.Pages [0] .Size = PdfSharp.PageSizes.Letter PdfDocument.Pages [0] .Orientation = PdfSharp.PageOrientation.Landscape 我绘制字符串(这很好) 我将文档保存到磁盘(这很好) Process.Start(myPdfFilename) – 然后用我的文档打开Acrobat Reader。 页面设置为A4 – 纵向… 我很困惑。 我知道Acrobat Reader中有一个选项,允许用户在不改变文本方向的情况下更改页面方向。 无论我是否选中此选项,仍然会出现错误的设置。 有人有想法吗? 谢谢!

PDF填写表单字段

我想在预制的PDF文档中填写表单字段,但是在运行时我收到了AcroForm的Null Refrence错误。 string fileN4 = TextBox1.Text + ” LOG.pdf”; File.Copy(Path.Combine(textBox4.Text + “\\”, fileN4), Path.Combine(Directory.GetCurrentDirectory(), fileN4), true); // Open the file PdfDocument document = PdfReader.Open(fileN4, PdfDocumentOpenMode.Modify); PdfTextField currentField = (PdfTextField)(document.AcroForm.Fields[“”]); //const string caseName = TextBox1.Text; PdfString caseNamePdfStr = new PdfString(caseName); //set the value of this field currentField.Value = caseNamePdfStr; // Save the document… document.Save(fileN4); 所以PdfTextField currentField […]

保持桌子整体MigraDoc / PDFsharp

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

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

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

MigraDoc – imbricated /嵌套表?

我想在另一个表(特定单元格内)中添加一个表。 我找不到将一个Table对象添加到Cell对象的方法。 这根本不可能吗? 或者,我可以合并一些细胞,但我在MigraDoc网站上找不到任何样本合并细胞的样本。 这是我的代码: Table parentTable = new Table(); parentTable.AddColumn(Unit.FromCentimeter(9)); Row parentRow = parentTable.AddRow(); Cell parentCell = parentRow.Cells[0]; Table currentTable = new Table(); currentTable.AddColumn(Unit.FromCentimeter(4)); Row currentRow = currentTable.AddRow(); currentRow.Cells[0].AddParagraph(“blablabla”); parentCell.Add(currentTable); // this does not work

更改PDF – 文本重新定位

有没有办法将现有pdf页面内的文本移动/移动 到其他位置 ? 就像在区域x = 100处有一些文本,y = 100,w = 100,h = 100并且我想将其移动到x = 50,y = 200,w = 100,h = 100。 我做了很多研究,似乎iTextSharp无法做到这一点。 PDFSharp声称它可以完成,但我找不到任何例子。 一种方法是制作我想要移动的文本的特定区域的位图,在该区域上绘制白色矩形并在新位置插入位图。 我不想使用这个解决方案,因为我使用超过1K页面的大型pdf文件,其中每个页面都必须被更改。 我发现的是,我需要找到一种方法来改变文本定位操作符(文本矩阵和文本状态参数),这并不是那么简单。 有人有什么想法吗?

PDFsharp文档

是否有可能找到PDFsharp库的良好文档? 我在Google上搜索过,但我没有找到任何参考文档。 我不知道XGraphics.RotateAtTransform和XGraphics.TranslateTransform是如何工作的。

打开PDF文件时,“PDFsharp无法处理随Acrobat 6引入的PDFfunction”错误

我使用PDFsharp(v1.32)合并多个PDF文件。 我使用以下代码打开文档: PdfDocument inputDocument = PdfReader.Open(pdfFilePath, PdfDocumentOpenMode.Import); 在打开一个文档(PDF版本1.5(Acrobat 6.x))时,我收到一个例外: PdfSharp.dll中发生未处理的“PdfSharp.Pdf.IO.PdfReaderException”类型exception附加信息:无法处理iref流。 PDFsharp的当前实现无法处理Acrobat 6引入的此PDFfunction。 我该怎么办? 我需要合并所有文件,我不能跳过它。 我试图找到解决方案,但发现没有回答,或者只是来自PDFsharp团队的旧反馈,他们将“修复它”。

PDFSharp:用自动换行测量长文本的高度

PDFSharp在绘制长文本部分时支持自动文本换行: textFormatter.DrawString(text, font, XBrushes.Black, new XRect(x, y, textAreaWidth, 1000), XStringFormats.TopLeft); 如果文本长于textAreaWidth这将包装文本。 如何获得刚刚绘制的文本的高度? 我尝试使用gfx.MeasureString() ,但没有支持指定最大宽度的重载。 gfx.MeasureString()返回文本的大小而不进行文本换行。 谢谢你的任何提示。