Skip to content

Instantly share code, notes, and snippets.

@rosshadden
Last active October 10, 2019 01:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rosshadden/e0792e5c2a01f6e6ea8eca87faddacb4 to your computer and use it in GitHub Desktop.
Save rosshadden/e0792e5c2a01f6e6ea8eca87faddacb4 to your computer and use it in GitHub Desktop.
PDF => ZPL
#!/usr/bin/env python3
from zplgrf import GRF
import base64
import sys
def main(input, encodeOutput=True):
with input.buffer as pdf:
body = base64.b64decode(pdf.read())
pages = GRF.from_pdf(body, "Whitebox", center_of_pixel=True)
for grf in pages:
output = grf.to_zpl()
if encodeOutput:
output = base64.b64encode(output.encode("utf-8"))
print(output.decode("utf-8"))
encodeOutput = False if len(sys.argv) > 1 else True
main(sys.stdin, encodeOutput)
FROM node:latest
RUN apt update && apt install -yq ghostscript python3-pip
RUN pip3 install zplgrf==1.4.2
COPY ./src /app
RUN chmod +x /app/convert
WORKDIR /app
const proc = require('child_process');
const path = require('path');
async function main() {
const input = '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CjAwMDAwMDY4OTggMDAwMDAgbiAKMDAwMDAwNzA2NyAwMDAwMCBuIAowMDAwMDAwNTI3IDAwMDAwIG4gCjAwMDAwMDA1ODEgMDAwMDAgbiAKMDAwMDAwMDYzNCAwMDAwMCBuIAowMDAwMDAzMzQ5IDAwMDAwIG4gCjAwMDAwMDM0MDYgMDAwMDAgbiAKMDAwMDAwNjg3NyAwMDAwMCBuIAowMDAwMDA3MDE3IDAwMDAwIG4gCjAwMDAwMDcyODMgMDAwMDAgbiAKMDAwMDAwNzUzMyAwMDAwMCBuIAowMDAwMDExMDcxIDAwMDAwIG4gCjAwMDAwMTEwOTIgMDAwMDAgbiAKMDAwMDAxMTEyMiAwMDAwMCBuIAowMDAwMDExMTk3IDAwMDAwIG4gCjAwMDAwMTEyMjYgMDAwMDAgbiAKMDAwMDAxMTI0NSAwMDAwMCBuIAowMDAwMDExMjcyIDAwMDAwIG4gCjAwMDAwMTEzMTQgMDAwMDAgbiAKMDAwMDAxMTMzMyAwMDAwMCBuIAp0cmFpbGVyCjw8IC9TaXplIDI4IC9Sb290IDE2IDAgUiAvSW5mbyAxIDAgUiAvSUQgWyA8MWFkYzkxNWNiN2JkN2FlYTEyMjQxYjA4Y2ViM2YzZjQ+CjwxYWRjOTE1Y2I3YmQ3YWVhMTIyNDFiMDhjZWIzZjNmND4gXSA+PgpzdGFydHhyZWYKMTE1MzEKJSVFT0YK';
const convert = proc.exec(path.join(__dirname, './convert'));
convert.stdin.write(input);
convert.stdin.end();
let body = '';
for await (const data of convert.stdout) {
body += data;
}
console.log(body);
}
main();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment