Ich versuche, ein XPS-Dokument von einem WPF-Steuerelement zu generieren. Drucken funktioniert soweit, aber ich finde keine Möglichkeit, das XPS im Querformat zu erstellen.WPF zu XPS im Querformat
Mein Code der XPS-Datei zu erstellen, die meist aus einer anderen SO Seite genommen
public FixedDocument ReturnFixedDoc()
{
FixedDocument fixedDoc = new FixedDocument();
PageContent pageContent = new PageContent();
FixedPage fixedPage = new FixedPage();
var ctrl = new controlToPrint();
//Create first page of document
fixedPage.Children.Add(ctrl);
((System.Windows.Markup.IAddChild)pageContent).AddChild(fixedPage);
fixedDoc.Pages.Add(pageContent);
//Create any other required pages here
return fixedDoc;
}
public void SaveCurrentDocument()
{
// Configure save file dialog box
Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog();
dlg.FileName = "MyReport"; // Default file name
dlg.DefaultExt = ".xps"; // Default file extension
dlg.Filter = "XPS Documents (.xps)|*.xps"; // Filter files by extension
// Show save file dialog box
Nullable<bool> result = dlg.ShowDialog();
// Process save file dialog box results
if (result == true)
{
// Save document
string filename = dlg.FileName;
FixedDocument doc = ReturnFixedDoc();
XpsDocument xpsd = new XpsDocument(filename, FileAccess.Write);
System.Windows.Xps.XpsDocumentWriter xw = XpsDocument.CreateXpsDocumentWriter(xpsd);
xw.Write(doc);
xpsd.Close();
}
}
Jede Hilfe sehr geschätzt wird.
Danke, das scheint den Trick zu machen. Ich habe "new RotateTransform (90)" verwendet, um das Steuerelement zu drehen, aber die Größe der Seite auf die richtigen Dimensionen zu ändern ist besser :-) – Felix