gpt4 book ai didi

pdfsharp - 将多页 MigraDoc 文档添加到 PDFSharp 文档

转载 作者:行者123 更新时间:2023-12-02 03:54:02 29 4
gpt4 key购买 nike

在 Migradoc 和 PDFSharp 示例页面中,有一个将 Migradoc 文档绘制为 PDFSharp 文档:http://www.pdfsharp.net/wiki/MixMigraDocAndPdfSharp-sample.ashx

但是,如果我要渲染的 Migradoc 文档不止一页怎么办?在 Migradoc 中,您不处理页面。它是自动完成的。

编辑:找到我的路

好吧,一旦你“Prepare()”文档...你就有了 FormattedDocument() 方法,在那里你可以看到它最终有多少页拥有。我在下面添加了我自己的回应。

最佳答案

Prepare() Migradoc 文档后,您就获得了文档的布局和页数。因此,您只需循环遍历 MigraDoc 文档的每一页,并为每一页在 PdfDocument 中创建一个页面:

private void SampleMultiplePage(ref PdfDocument document, Document migraDocument)
{
var pdfRenderer = new DocumentRenderer(migraDocument);

pdfRenderer.PrepareDocument();

int pages = pdfRenderer.FormattedDocument.PageCount;
for (int i = 1; i <= pages; ++i)
{
var page = document.AddPage();

PageInfo pageInfo = pdfRenderer.FormattedDocument.GetPageInfo(i);
page.Width = pageInfo.Width;
page.Height = pageInfo.Height;
page.Orientation = pageInfo.Orientation;

using (XGraphics gfx = XGraphics.FromPdfPage(page))
{
// HACK²
gfx.MUH = PdfFontEncoding.Unicode;
gfx.MFEH = PdfFontEmbedding.Default;

pdfRenderer.RenderPage(gfx, i);
}
}
}

关于pdfsharp - 将多页 MigraDoc 文档添加到 PDFSharp 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44578660/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com