Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  browser_printToPDF.js   Sprache: JAVA

 
/* Any copyright is dedicated to the Public Domain.
 * http://creativecommons.org/publicdomain/zero/1.0/ */


"use strict";

const DOC = toDataURL("
Hello world
"
);

add_task(async function transferModes({ client }) {
  const { IO, Page } = client;
  await loadURL(DOC);

  // as base64 encoded data
  const base64 = await Page.printToPDF({ transferMode: "ReturnAsBase64" });
  is(base64.stream, null"No stream handle is returned");
  ok(!!base64.data, "Base64 encoded data is returned");
  verifyPDF(atob(base64.data).trimEnd());

  // defaults to base64 encoded data
  const defaults = await Page.printToPDF();
  is(defaults.stream, null"By default no stream handle is returned");
  ok(!!defaults.data, "By default base64 encoded data is returned");
  verifyPDF(atob(defaults.data).trimEnd());

  // unknown transfer modes default to base64
  const fallback = await Page.printToPDF({ transferMode: "ReturnAsFoo" });
  is(fallback.stream, null"Unknown mode doesn't return a stream");
  ok(!!fallback.data, "Unknown mode defaults to base64 encoded data");
  verifyPDF(atob(fallback.data).trimEnd());

  // as stream handle
  const stream = await Page.printToPDF({ transferMode: "ReturnAsStream" });
  ok(!!stream.stream, "Stream handle is returned");
  is(stream.data, null"No base64 encoded data is returned");
  let streamData = "";

  while (true) {
    const { data, base64Encoded, eof } = await IO.read({
      handle: stream.stream,
    });
    streamData += base64Encoded ? atob(data) : data;
    if (eof) {
      await IO.close({ handle: stream.stream });
      break;
    }
  }

  verifyPDF(streamData.trimEnd());
});

function verifyPDF(data) {
  is(data.slice(0, 5), "%PDF-""Decoded data starts with the PDF signature");
  is(data.slice(-5), "%%EOF""Decoded data ends with the EOF flag");
}

Messung V0.5
C=88 H=95 G=91

¤ Dauer der Verarbeitung: 0.11 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge