我想用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);
}发布于 2016-03-03 07:10:29
首先把你的关系写到一个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);发布于 2019-11-01 23:11:22
可以使用打印对话框,设置标准页面大小和方向,将宽度和高度转换为固定的文档页面大小。不要设置实际的数字
https://stackoverflow.com/questions/35733145
复制相似问题