pdf清晰的文档方向
本文关键字:方向 文档 清晰 pdf | 更新日期: 2023-09-27 18:36:53
我想使用 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);
您可以使用
printdialog,设置标准页面大小和方向,将宽度和高度转换为固定文档页面大小。不设置实际数字