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