maendler53
Grünschnabel
Moin Freaks
BeimDrucken über FixedDocument erhalte ich diese Fehlermeldung:
InnerException {"Das Stammelement ist nicht vorhanden."}
StackTrace
bei System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)
bei System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, Boolean skipJournaledProperties, Uri baseUri)
bei System.Windows.Markup.XamlReader.Load(XamlReader xamlReader, ParserContext parserContext)
bei System.Windows.Markup.XamlReader.Load(XmlReader reader, ParserContext parserContext, XamlParseMode parseMode, Boolean useRestrictiveXamlReader, List`1 safeTypes)
bei System.Windows.Markup.XamlReader.Load(Stream stream, ParserContext parserContext, Boolean useRestrictiveXamlReader)\r\n bei MS.Internal.ReachFramework.Markup.XamlReaderProxy.Load(Stream stream, ParserContext parserContext, Boolean useRestrictiveXamlReader)
bei System.Windows.Xps.Packaging.XpsDocument.GetFixedDocumentSequence()
bei js.RentAdministration.PrintFactory.PrintFactories.get_Paginator() in E:\\RENT_ADMINISTRATION_FRONT_END\\js.RentAdministration.PrintFactory\\PrintFactories.cs:Zeile 74."
Die Klasse PrintFactories erbt von XpsDocument
Der Code von E:\\RENT_ADMINISTRATION_FRONT_END\\js.RentAdministration.PrintFactory\\PrintFactories.cs:Zeile 74.", der die Exception wirft
Ich denke der Fehler entsteht in der Funktion von XpsDocument AdsPage()
Wie müsste dieser void ausehen?
Gruss Mändler
BeimDrucken über FixedDocument erhalte ich diese Fehlermeldung:
InnerException {"Das Stammelement ist nicht vorhanden."}
StackTrace
bei System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)
bei System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, Boolean skipJournaledProperties, Uri baseUri)
bei System.Windows.Markup.XamlReader.Load(XamlReader xamlReader, ParserContext parserContext)
bei System.Windows.Markup.XamlReader.Load(XmlReader reader, ParserContext parserContext, XamlParseMode parseMode, Boolean useRestrictiveXamlReader, List`1 safeTypes)
bei System.Windows.Markup.XamlReader.Load(Stream stream, ParserContext parserContext, Boolean useRestrictiveXamlReader)\r\n bei MS.Internal.ReachFramework.Markup.XamlReaderProxy.Load(Stream stream, ParserContext parserContext, Boolean useRestrictiveXamlReader)
bei System.Windows.Xps.Packaging.XpsDocument.GetFixedDocumentSequence()
bei js.RentAdministration.PrintFactory.PrintFactories.get_Paginator() in E:\\RENT_ADMINISTRATION_FRONT_END\\js.RentAdministration.PrintFactory\\PrintFactories.cs:Zeile 74."
Code:
public class XpsDoc : jsPrintBase
{
private const double _LEFT_MARGIN = 60;
private const double _TOP_MARGIN = 80;
private static readonly string docPath = $"{Path.GetTempPath()}tmpXPS.xps";
protected XpsDocument doc = null;
private IXpsFixedDocumentSequenceWriter sequeceWriter;
private IXpsFixedDocumentWriter docWriter;
private IXpsFixedPageWriter pageWriter;
private XmlWriter xmlWriter;
//private Package packageName;
protected string DocPaht { get => docPath; }
protected void OpenDoc()
{
doc = new XpsDocument(docPath, FileAccess.ReadWrite);
sequeceWriter = doc.AddFixedDocumentSequence();
docWriter = sequeceWriter.AddFixedDocument();
}
protected void AddPage()
{
pageWriter = docWriter.AddFixedPage();
xmlWriter = pageWriter.XmlWriter;
xmlWriter.WriteStartElement("FixedPage");
xmlWriter.WriteAttributeString("xmlns", "http://schemas.microsoft.com/xps/2005/06");
xmlWriter.WriteStartElement("StackPanel");
xmlWriter.WriteAttributeString("Margin", $"{_LEFT_MARGIN},{_TOP_MARGIN},{ _LEFT_MARGIN / 2},{_TOP_MARGIN}");
xmlWriter.WriteAttributeString("StackPanel.Width", $"{GetDocumentSize.Width + _LEFT_MARGIN }");
}
protected void AddElement(UIElement element)
{
XamlWriter.Save(element, xmlWriter);
}
protected void ClosePage()
{
docWriter.Commit();
sequeceWriter.Commit();
}
protected void CloseDocument()
{
docWriter.Commit();
sequeceWriter.Commit();
doc.Close();
}
}
Die Klasse PrintFactories erbt von XpsDocument
Der Code von E:\\RENT_ADMINISTRATION_FRONT_END\\js.RentAdministration.PrintFactory\\PrintFactories.cs:Zeile 74.", der die Exception wirft
Code:
public IDocumentPaginatorSource Paginator
{
get
{
OpenDoc();
foreach (var cva in canvasContainer)
{
AddPage();
AddElement(cva);
ClosePage();
}
FixedDocumentSequence seq = doc.GetFixedDocumentSequence();
CloseDocument();
return seq as IDocumentPaginatorSource; // Zeile 74
}
}
Ich denke der Fehler entsteht in der Funktion von XpsDocument AdsPage()
Wie müsste dieser void ausehen?
Gruss Mändler