Änderungen von Dokument Print-Service-Plugin


Von Version 16.4
bearbeitet von awa
am 14.06.2022, 14:23
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 16.2
bearbeitet von awa
am 14.06.2022, 14:16
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Inhalt
... ... @@ -261,6 +261,41 @@
261 261  ; An den Vorgang anhängen
262 262  : Die Datei dauerhaft speichern. Diese Einstellung ist auch notwendig, wenn die Datei z.B. auf einer Abschlussseite als Download (mittels [[Attachment-Platzhalter>>doc:Formcycle.UserInterface.Variables||anchor="HSystemplatzhalterfFCrHTML-Templates" target="_blank"]]) angeboten werden soll.
263 263  
264 +== JavaScript-Anpassungen für Druckbild
265 +
266 +Manchmal kann es erforderlich sein, vor dem Druck noch JavaScript auszuführen. Hierzu kann die Funktion //$.xutil.onPrint// verwendet werden, welche folgende Signatur hat
267 +
268 +{{code language="text"}}
269 +function onPrint(callback: () => Promise<void> | void): void
270 +{{/code}}
271 +
272 +Mit dieser Funktion können ein oder mehrere Callbacks registriert werden, welche vor dem Druck ausgeführt werden. Wenn ein Callback ein //Promise// zurückliefert, wird mit dem Druck gewartet, bis das Promise erfüllt ist. Falls das Promise abgewiesen wird, wird der Fehler gelogged, der Print aber nicht abgebrochen. Zu beachten ist weiterhin, dass die Registrierung der Callbacks vor dem Druck erfolgen muss, also beispielsweise innerhalb eines JQuery-Document-Ready-Handlers (//$(callback)//).
273 +
274 +Falls beispielsweise ein AJAX-Request fertig ausgeführt werden soll, bevor mit dem Druck begonnen wird:
275 +
276 +{{js}}
277 + $.xutil.onPrint(async () => {
278 + const response = await fetch("http://some-url.de")ö
279 + // do something with response
280 + });
281 +{{/js}}
282 +
283 +{{jsIE}}
284 + $.xutil.onPrint(function() {
285 + return new Promise(function(resolve, reject) {
286 + $.ajax("http://some-url.de", {
287 + success: function(data, textStatus, jqXHR) {
288 + // Do something with the response data
289 + resolve(undefined);
290 + },
291 + error: function(jqXHR, textStatus, errorThrown) {
292 + reject("HTTP request error: " + textStatus + " - " + errorThrown);
293 + },
294 + });
295 + });
296 + });
297 +{{/jsIE}}
298 +
264 264  == CSS-Anpassungen für Druckbild ==
265 265  
266 266  Allgemeine CSS-Anpassungen für den Druck können über eine entsprechende Media-Query umgesetzt werden:
... ... @@ -374,41 +374,6 @@
374 374  
375 375  In Schriftarten vom Typ //TrueType// und //OpenType// können Informationen über die Einbettbarkeit der Schriftart direkt mitgespeichert werden. Je nachdem, was dort konfiguriert ist, kann eine Schriftart gegebenenfalls nicht eingebettet werden und wird vom //Print-Service-Plugin// stattdessen nur als Vektorgrafik in die erstellten PDF-Dokumente gerendert.
376 376  
377 -== JavaScript-Anpassungen für Druckbild
378 -
379 -Manchmal kann es erforderlich sein, vor dem Druck noch JavaScript auszuführen. Hierzu kann die Funktion //$.xutil.onPrint// verwendet werden, welche folgende Signatur hat
380 -
381 -{{code language="text"}}
382 -function onPrint(callback: () => Promise<void> | void): void
383 -{{/code}}
384 -
385 -Mit dieser Funktion können ein oder mehrere Callbacks registriert werden, welche vor dem Druck ausgeführt werden. Wenn ein Callback ein //Promise// zurückliefert, wird mit dem Druck gewartet, bis das Promise erfüllt ist. Falls das Promise abgewiesen wird, wird der Fehler gelogged, der Print aber nicht abgebrochen. Zu beachten ist weiterhin, dass die Registrierung der Callbacks vor dem Druck erfolgen muss, also beispielsweise innerhalb eines JQuery-Document-Ready-Handlers (//$(callback)//).
386 -
387 -Falls beispielsweise ein AJAX-Request fertig ausgeführt werden soll, bevor mit dem Druck begonnen wird:
388 -
389 -{{js}}
390 - $.xutil.onPrint(async () => {
391 - const response = await fetch("http://some-url.de");
392 - // do something with response
393 - });
394 -{{/js}}
395 -
396 -{{jsIE}}
397 - $.xutil.onPrint(function() {
398 - return new Promise(function(resolve, reject) {
399 - $.ajax("http://some-url.de", {
400 - success: function(data, textStatus, jqXHR) {
401 - // Do something with the response data
402 - resolve(undefined);
403 - },
404 - error: function(jqXHR, textStatus, errorThrown) {
405 - reject("HTTP request error: " + textStatus + " - " + errorThrown);
406 - },
407 - });
408 - });
409 - });
410 -{{/jsIE}}
411 -
412 412  == Versionshistorie
413 413  
414 414  === 4.2.0