Hallo,
Im Moment schreibe ich an einer Applikation, in welcher am Ende mehrere Dokumente für den Kunden ausgedruckt werden sollen.
Darunter sind unter anderen folgende Dokumente:
-) Haushaltsrechnung
-) Datenschutzerklärung
-) div. Anträge
diese einzelnen Dokumente werden in größeren "Hauptanträgen" eingefügt. So wird zum Beispiel ein Dokument "Konzept" erzeugt, in welchem z.B. die Haushaltsrechnung eingefügt werden.
Im Moment wurde das Markup für die Haushaltsrechnung per Hand in das Konzept kopiert. Und beider jeder Änderung müssen beide Dokumente bearbeitet werden.
Kennt jemand von euch einen guten Weg dies zu "modularisieren" und ein include in den Dokumenten oder ähnliches zu machen?
Hallo Blue_Dragon,
ich verstehe nicht genau was du meinst. Meinst du mit "Einfügen" bzw. "Kopieren" im fertigen PDF od. im XSL-FO?
mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.
"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
Hallo,
Ich meine das Einfügen im XSL-FO. Da beispielsweise die Seitennummern korrekt mitgezählt werden müssen, kann ich leidernicht beide Dokumente als PDF generieren und dann zu einem PDF mergen. Zumindest ist mir keine Möglichkeit bekannt.
Hallo Blue_Dragon,
ich gehe mal davon aus, dass der Ausgang XML-Dateien sind. So wird es wohl am einfachsten sein, ein neues XML für den Hauptantrag zu erstellen, indem alle Teil-XML zusammengeführt werden (z.B. per XDocument von Linq2Xml).
Aus den Stylesheets müssen dann auch die Templates für den Inhalt in eigene Stylesheet-Fragmente extrahiert werden, damit diese universeller einsetzbar werden. Die Fragmente können per <xsl:include>
importiert werden.
Erklärt am Beispiel von "Konzept" und "Haushaltsrechnung":
Haushaltsrechnung.xml -> Haushaltsrechnung.xslt (inkludiert Haushaltsrechnung.Inhalt.xslt) -> XSL-FO Prozessor -> Haushaltsrechnung.pdf
Konzept.xml (darin ist Haushaltsrechnung.xml eingebaut) -> Konzept.xslt (inkludiert Haushaltsrechnung.Inhalt.xslt) -> XSL-FO Prozessor -> Konzept.pdf
Wobei hier Haushaltsrechnung.Inhalt.xsl nur die Templates beinhalten die von <xsl:apply-templates />
aufgerufen werden sollen. Die ganze Aufmachung der Seite (<fo:simple-page-master ..., etc.) ist dann entweder in Haushaltsrechnung.xslt od. Konzept.xslt zu finden.
kann ich leidernicht beide Dokumente als PDF generieren und dann zu einem PDF mergen. Zumindest ist mir keine Möglichkeit bekannt.
Ich bin mir nicht sicher, aber mit iTextSharp u.Co. sollten sich die Seitennummern auch anpassen lassen.
mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.
"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
Hallo,
Der Ansatz klingt sehr gut! Großes Danke, ich werde dass wohl so umsetzen!
Ob das mit ITextSharp geht werde ich mir ansehen =)