ol-th / pdf-img-convert.js

Simple node package to convert a PDF into images.
MIT License
161 stars 38 forks source link

`Invalid PDF structure.` with `node-latex` generated contents #52

Closed Anatoly03 closed 7 months ago

Anatoly03 commented 7 months ago

Expected: An image buffer to be created, got:

/path/to/node_modules/pdf-img-convert/node_modules/pdfjs-dist/legacy/build/pdf.js:543
  BaseException.prototype = new Error();
                            ^
Error
    at BaseExceptionClosure (/path/to/node_modules/pdf-img-convert/node_modules/pdfjs-dist/legacy/build/pdf.js:543:29)
    at Array.<anonymous> (/path/to/node_modules/pdf-img-convert/node_modules/pdfjs-dist/legacy/build/pdf.js:546:2)
    at __w_pdfjs_require__ (//path/to/node_modules/pdf-img-convert/node_modules/pdfjs-dist/legacy/build/pdf.js:24153:41)
    at /path/to/node_modules/pdf-img-convert/node_modules/pdfjs-dist/legacy/build/pdf.js:24393:13
    at /path/to/node_modules/pdf-img-convert/node_modules/pdfjs-dist/legacy/build/pdf.js:24444:3
    at /path/to/node_modules/pdf-img-convert/node_modules/pdfjs-dist/legacy/build/pdf.js:24447:12
    at webpackUniversalModuleDefinition (/path/to/node_modules/pdf-img-convert/node_modules/pdfjs-dist/legacy/build/pdf.js:25:20)
    at Object.<anonymous> (/path/to/node_modules/pdf-img-convert/node_modules/pdfjs-dist/legacy/build/pdf.js:32:3)
    at Module._compile (node:internal/modules/cjs/loader:1376:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1435:10) {
  message: 'Invalid PDF structure.',
  name: 'InvalidPDFException'
}

Steps to Reproduce:

import { Readable, Writable } from 'stream'
import latex from 'node-latex'
import { convert } from 'pdf-img-convert'

function latex_to_string(pdf) {
    let buffer = ''

    return new Promise((res, rej) => {
        pdf.pipe(new Writable({
            write: function (chunk, encoding, next) {
                buffer += chunk.toString()
                next()
            }
        }))

        pdf.on('error', rej)
        pdf.on('finish', () => res(buffer))
    })
}

const pdf = await latex_to_pdf(`
%\\documentclass{document}
\\documentclass[12pt, letterpaper]{article}

\\begin{document}
    Test
\\end{document}
`)

const img = await convert(Buffer.from(pdf))

Environment:

Mac Ventura

TeX 3.141592653 (TeX Live 2023)
kpathsea version 6.3.5

pdfTeX 3.141592653-2.6-1.40.25 (TeX Live 2023)
kpathsea version 6.3.5

PDF-1.5 created