[英]pdfSharp document orientation
我想使用pdfSharp更改在c# wpf中创建的文档的方向,如果我想要横向文档该怎么办
这是我的代码
private void savePDF()
{
string date = DateTime.Now.ToString().Replace('/', '-').Replace(':', '-');
MemoryStream lMemoryStream = new MemoryStream();
Package package = Package.Open(lMemoryStream, FileMode.Create);
XpsDocument doc = new XpsDocument(package);
XpsDocumentWriter writer = XpsDocument.CreateXpsDocumentWriter(doc);
writer.Write(rapport);
doc.Close();
package.Close();
var pdfXpsDoc = PdfSharp.Xps.XpsModel.XpsDocument.Open(lMemoryStream);
PdfSharp.Xps.XpsConverter.Convert(pdfXpsDoc, "E:\\"+ date +".pdf", 0);
}
首先将您的融洽关系写入FixedDocument
:
FixedDocument fixedDoc = new FixedDocument();
PageContent pageContent = new PageContent();
FixedPage fixedPage = new FixedPage();
string savedrapport = XamlWriter.Save(rapport);
StringReader stringReader = new StringReader(savedrapport);
XmlReader xmlReader = XmlReader.Create(stringReader);
Grid newrapportInstance = (Grid)XamlReader.Load(xmlReader);
//Create first page of document
fixedPage.Children.Add(newrapportInstance);
((System.Windows.Markup.IAddChild)pageContent).AddChild(fixedPage);
// hard coded for A4
fixedPage.Width = 11.69 * 96;
fixedPage.Height = 8.27 * 96;
fixedDoc.Pages.Add(pageContent);
//Create any other required pages here
MemoryStream lMemoryStream = new MemoryStream();
Package package = Package.Open(lMemoryStream, FileMode.Create);
XpsDocument doc = new XpsDocument(package);
XpsDocumentWriter writer = XpsDocument.CreateXpsDocumentWriter(doc);
writer.Write(fixedDoc);
doc.Close();
package.Close();
var pdfXpsDoc = PdfSharp.Xps.XpsModel.XpsDocument.Open(lMemoryStream);
PdfSharp.Xps.XpsConverter.Convert(pdfXpsDoc, "E:\\"+ date +".pdf", 0);
您可以使用打印对话框,设置标准页面大小和方向,将宽度和高度转换为固定文档页面大小。 不要设置实际数字
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.