我正在使用MigraDoc /PDFsharp从C#应用生成PDF文件我试图找出是否可以将整个页面颜色设置为黑色(而不是默认的白色)。我看到如何更改字体等样式,但我看不到可以更改整个页面的背景颜色。
如果可能,请告诉我。我看到我可以有背景图像(所以我想我可以创建一个纯色图像,但想想会有一种更简单的方法。经过大量的谷歌搜索后我找不到任何东西)
答案 0 :(得分:2)
我可以想到两种我认为值得尝试的方法。
一种方法是使用PDFsharp为每个新页面调用AddPage(),并在调用RenderPage()绘制MigraDoc内容之前以您喜欢的颜色绘制一个矩形。
这是一个在一个PDFsharp页面上以缩略图大小绘制九个MigraDoc页面的示例:
http://www.pdfsharp.net/wiki/MixMigraDocAndPdfSharp-sample.ashx
您可以调用AddPage / RenderPage以完整大小绘制每个页面。
仅使用MigraDoc的另一种方法:将TextFrame()添加到页眉,并将该TextFrame的FillFormat设置为背景颜色。设置TextFrame以填充整个页面 这应该工作,它只需要MigraDoc(不需要PDFsharp代码)。
我想我会使用第一种方法。
答案 1 :(得分: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");
}