From ee39a8939ee668ee192313ed32eae53f6c2bc427 Mon Sep 17 00:00:00 2001 From: Tor Andersson Date: Mon, 10 Apr 2017 13:27:57 +0200 Subject: Add an example JPEG2000 to PDF script. --- docs/examples/jpx-to-pdf.js | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 docs/examples/jpx-to-pdf.js (limited to 'docs') diff --git a/docs/examples/jpx-to-pdf.js b/docs/examples/jpx-to-pdf.js new file mode 100644 index 00000000..ee95ab30 --- /dev/null +++ b/docs/examples/jpx-to-pdf.js @@ -0,0 +1,39 @@ +// Script to create a PDF from JPEG2000 images. +// Each image be put on its own page. +// This script can be used to create files to test JPEG2000 support in PDF viewers. + +var doc = new PDFDocument(); + +function addJPXImage(filename, w, h) { + return doc.addRawStream( + readFile(filename), + { + Type: "XObject", + Subtype: "Image", + Width: w, + Height: h, + Filter: "JPXDecode" + } + ); +} + +function addJPXPage(filename) { + var image = new Image(filename); + var w = image.getWidth(); + var h = image.getHeight(); + var mediabox = [0, 0, w, h]; + var resources = { XObject: { I: addJPXImage(filename, w, h) } }; + var contents = "q " + w + " 0 0 " + h + " 0 0 cm /I Do Q"; + doc.insertPage(-1, doc.addPage(mediabox, 0, resources, contents)); +} + +var i, n = argv.length; +if (n < 2) { + print("usage: mutool run jpx-to-pdf.js file.jpx ..."); + quit(); +} +for (i = 1; i < n; ++i) { + addJPXPage(argv[i]); +} + +doc.save("out.pdf", "ascii,pretty"); -- cgit v1.2.3