0

我有一个关于集成 Migradoc 和 SharpPDF 的问题。

我正在使用 pdfpage.add(text) 函数创建一个带有文本的 pdfpage。(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

4

1 回答 1

3

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

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

或者使用 MigraDoc 创建最终的 PDF 文件 - 使用 MigraDoc 添加文本很容易。

于 2014-07-01T13:29:34.707 回答