First of all thanks for this library.
Your README states:
A Portable Document Format (PDF) generation library targeting both the server- and client-side.
However the library does not work out of the box in a browser environment. Document extends Readable which uses Stream which is not defined in a browser env. To make it work you have to add polyfills. Using vite I can make it work using this configuration:
import { defineConfig } from "vite";
import { nodePolyfills } from "vite-plugin-node-polyfills";
export default defineConfig({
plugins: [
nodePolyfills({
include: ["stream"]
}),
]
});
I think there should be at least some documentation on how to use the library in a client-side environment if that is explicitly targeted. (Related: #207)
I'm happy to provide a PR with a new markdown file stating the above. Is there a chance that would be accepted?
I also think it would be a good idea to add a check for the existence of Stream before using it and throw a error with custom message explaining the problem and perhaps linking to the documentation (hopefully existing by then). That check should be placed in the Document constructor before
|
super({ |
|
highWaterMark: opts.highWaterMark || 16384, // 16kB |
|
}); |
Also happy to provide a PR for that.
First of all thanks for this library.
Your README states:
However the library does not work out of the box in a browser environment.
DocumentextendsReadablewhich usesStreamwhich is not defined in a browser env. To make it work you have to add polyfills. Using vite I can make it work using this configuration:I think there should be at least some documentation on how to use the library in a client-side environment if that is explicitly targeted. (Related: #207)
I'm happy to provide a PR with a new markdown file stating the above. Is there a chance that would be accepted?
I also think it would be a good idea to add a check for the existence of
Streambefore using it and throw a error with custom message explaining the problem and perhaps linking to the documentation (hopefully existing by then). That check should be placed in theDocumentconstructor beforepdfjs/lib/document.js
Lines 25 to 27 in b6cdd70
Also happy to provide a PR for that.