首页 文章

使用PDFsharp / Migradoc时,有没有办法让不同颜色的页面背景色?

提问于
浏览
1

我正在使用_2746405从C#应用程序生成PDF文件 . 我试图弄清楚我是否可以将整个页面颜色设置为黑色(而不是默认的白色) . 我知道如何更改字体样式等,但我看不到在哪里可以更改整个页面的背景颜色 .

如果可能,请告诉我 . 我看到我可以有背景图像(所以我想我可以创建一个纯色图像,但想到会有一种更简单的方法 . 经过大量的谷歌搜索后我找不到任何东西)

2 回答

  • 2

    我可以想到两种我认为值得尝试的方法 .

    一种方法是使用PDFsharp为每个新页面调用AddPage()并在调用RenderPage()绘制MigraDoc内容之前绘制您喜欢的颜色的矩形 .

    这是一个在一个PDFsharp页面上以缩略图大小绘制九个MigraDoc页面的示例:
    http://www.pdfsharp.net/wiki/MixMigraDocAndPdfSharp-sample.ashx
    您可以调用AddPage / RenderPage以完整大小绘制每个页面 .

    另一种仅使用MigraDoc的方法:将TextFrame()添加到页眉,并将该TextFrame的FillFormat设置为背景颜色 . 设置TextFrame以填充整个页面 .
    这应该工作,它只需要MigraDoc(不需要PDFsharp代码) .

    我想我会使用第一种方法 .

  • 0

    示例 - 创建文档,添加页面,用黑色填充整个页面并保存文档 .

    using(PdfDocument doc = new PdfDocument()){
        PdfPage page = doc.AddPage();
        using(XGraphics gfx = XGraphics.FromPdfPage(page)){
            gfx.DrawRectangle(XBrushes.Black, new XRect(0, 0, page.Width.Point, page.Height.Point));
        }
        doc.Save("pdfDocument.pdf");
    }
    

相关问题