Wie Sie wiederverwendbare Druckjobs erstellen können, haben wir bereits im Artikel Wiederverwendung von Druckjobs vorgestellt. In diesem Beitrag lernen Sie ein weiteres nützliches Feature kennen.
Für die Druckaufbereitung von textuellen Informationen bietet CONZEPT 16 das PrtText
und das PrtRtf
-Objekt. Diese dienen dazu Texte und RTF-Inhalte in den Druckjob zu integrieren.
Für die Druckaufbereitung von Grafiken stellt CONZEPT 16 die Objekte PrtPicture
und PrtMetaPicture
bereit. Das erste Objekt ist in der Lage Rastergrafiken in unterschiedlichen Formaten anzuzeigen. Gängige Formate sind beispielsweise TIFF-, JPEG- und PNG.
Mit dem PrtMetaPicture
integrieren Sie Vektor-Grafiken. Diese können ohne Qualitätsverlust skaliert werden. CONZEPT 16 unterstützt das EMF- sowie das ältere WMF-Format.
Wenn Sie einen Druckjob mit dem Befehl PrtJobOpen()
erstellen, werden Texte und RTF-Inhalte eingebettet. Die generierte Job-Datei ist dadurch unabhängig von der Quelle des ursprünglichen Textes. Die Quelle wird für die Anzeige bzw. das Drucken der Druckjob-Datei nicht mehr benötigt.
Bei Bildern ist dies anders. Hier speichert CONZEPT 16 lediglich eine Referenz auf die Quelle. Fehlt diese, dann fehlt das Bild bei der Anzeige bzw. beim Druck.
Ab der Version 5.5.01 können auch Grafiken eingebettet werden. Der folgende Code zeigt wie:
@A+
@C+
main
local
{
tJob : handle;
}
{
tJob # PrtJobOpen('PrtPictureDoc','c:\test.job',
_PrtJobOpenWrite | _PrtJobOpenEmbedImages);
...
}
Entscheidend ist die Option _PrtJobOpenEmbedImages
. Diese kann nur in Verbindung mit _PrtJobOpenWrite
angegeben werden und führt dazu, dass auch Grafiken im Druckjob gespeichert werden und nicht bloß die Referenz auf die Quelle.
Die Druckjob-Datei wird natürlich größer, wenn die Option _PrtJobOpenEmbedImages
angegeben ist. Mehrfach vorkommende Grafiken aus derselben Quelle werden jedoch nur ein einziges Mal gespeichert.
PDF-Dateien, die über das PrtPdf
-Objekt angezeigt werden, sind ebenfalls von der Option betroffen.
3 Antworten
Gute Idee mit dem direkten binären Objekt, könnten wir auch gut gebrauchen
@Klaus
Zur Zeit kann eine Druckjob-Datei ausschließlich extern erzeugt werden. Wir nehmen das gerne als Vorschlag auf.
danke für die Infos. Kann ich einen solchen Druckjob auch direkt als binäres Objekt in der Datenbank speichern (zum Archivieren) oder geht das nur über den Umweg, die externe Datei zu importieren.