eBookReaderSwitch/docs/examples/jpx-to-pdf.js

40 lines
946 B
JavaScript
Raw Normal View History

// 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 = scriptArgs.length;
if (n < 1) {
print("usage: mutool run jpx-to-pdf.js file.jpx ...");
quit();
}
for (i = 0; i < n; ++i) {
addJPXPage(scriptArgs[i]);
}
doc.save("out.pdf", "ascii,pretty");