Migradoc& sharpPDF

时间:2014-07-01 12:13:19

标签: c# pdf-generation migradoc sharppdf

我有关于整合Migradoc和SharpPDF的问题。

我正在创建一个包含pdfpage.add(text)函数的pdf页面。 (SharpPDF) 但是,我也使用MigraDoc的功能从数据创建图表。

所以我的PDF代码(SharpPDF)如下:

pdfDocument myDoc = new pdfDocument("Test", "Test", false);
pdfPage pdfpage = myDoc.addPage();
pdfpage.addText("Bladiebla");
pdfpage.addText("Some more Bladiebla");

myDoc.createPDF(FilePath);

我的图表代码(MigraDoc)如下:

Document document = new Document();
document = startDocument(document, "Chart");

//Create chart functions

document.LastSection.Add(chart);

在调用createPDF函数之前,是否有任何方法或函数可用于将图表插入PDF? (也许将图表转换为图像并插入执行pdfpage.addImage();?)

到目前为止我尝试的是:

PdfDocumentRenderer renderer = new PdfDocumentRenderer(true, PdfSharp.Pdf.PdfFontEmbedding.Always);
renderer.Document = document;
renderer.RenderDocument();
pdfPage page2 = myDoc.addPage();
page2 = renderer.PdfDocument.Pages[0];   

这给出了以下错误: 不能将PdfSharp.Pdf.PdfPage类型转换为SharpPdf.PdfPage

1 个答案:

答案 0 :(得分:3)

MigraDoc使用PDFsharp创建PDF文件,因此很容易将MigraDoc和PDFsharp结合起来。

您正在使用sharpPDF。所以我假设您必须使用MigraDoc(在临时文件或MemoryStream中)创建PDF文件,然后使用sharpPDF打开此PDF文件以获取sharpPDF格式的PDF页面。

或者使用MigraDoc创建最终的PDF文件 - 使用MigraDoc轻松添加文本。