Update the getLayers method to take in an array of the layer filenames you expect to be in the gerber archive. This will allow the package to be used with gerbers that output different filenames for each layer then EAGLE.
npe_gerber
This is still being developed and isn't ready for production! Only tested with gerbers generated by EAGLE.
Requires node version 10 or higher.
Usage
Save a PNG file
const { ImageGenerator } = require('@nplayfair/npe_gerber');
const folderConfig = {
tmpDir: path.join(__dirname, 'tmp'),
imgDir: path.join(__dirname, 'img')
}
const imageConfig = {
resizeWidth: 600,
density: 1000,
compLevel: 1
}
const gerberArchive = '/path/to/gerber.zip';
const fileProc = new ImageGenerator(folderConfig, imageConfig);
fileProc.gerberToImage(gerberArchive)
.then(filename => {
console.log(`Generated image ${filename}`);
})
Return a PNG stream
const { ImageGenerator } = require('@nplayfair/npe_gerber');
const folderConfig = {
tmpDir: path.join(__dirname, 'tmp'),
imgDir: path.join(__dirname, 'img')
}
const imageConfig = {
resizeWidth: 600,
density: 1000,
compLevel: 1
}
const gerberArchive = '/path/to/gerber.zip';
const fileProc = new ImageGenerator(folderConfig, imageConfig);
fileProc.gerberToStream(gerberArchive)
.then(stream => {
// Do something with the stream
})
Image Processing Configuratation
Several values need to be set in the image configuration object. An SVG vector is first created as an intermediate step before being converted to a PNG. These correspond to the parameters passed to sharp for resizing the intermediary SVG and output PNG file. These settings are:
resizeWidth
: Width in pixels of the output image.density
: DPI to create the SVG with. Low values will result in a poor quality output image.compLevel
: PNG compression level.
More information about these settings can be found in the sharp documentation.
Languages
TypeScript
97.6%
JavaScript
2.4%