{"_id":"@abaye123/pdfmake","_rev":"2-d429b625cf41dbf74873dbf4dde16d7b","name":"@abaye123/pdfmake","dist-tags":{"latest":"0.3.12"},"versions":{"0.3.11":{"name":"@abaye123/pdfmake","version":"0.3.11","keywords":["pdf","javascript","printing","layout","rtl","bidi","bidirectional","hebrew","unicode"],"author":{"name":"Bartek Pampuch","email":"bartosz.pampuch@gmail.com"},"license":"MIT","_id":"@abaye123/pdfmake@0.3.11","maintainers":[{"name":"abaye123","email":"8140hp@gmail.com"}],"contributors":[{"name":"abaye","email":"a@abaye.co"}],"homepage":"https://github.com/abaye123/pdfmake#readme","bugs":{"url":"https://github.com/abaye123/pdfmake/issues"},"dist":{"shasum":"78336a2d159d65dc7af52d7fe041bc1af4f4f33f","tarball":"https://registry.npmjs.org/@abaye123/pdfmake/-/pdfmake-0.3.11.tgz","fileCount":117,"integrity":"sha512-BvRBRNdBcu2ozLJAEE8f4l5OdNJRgmX1+xOzC+VdCh8kz4XaDU+9qxk150CvLgq0L6Uxf3XvxCN83fP5Wose/w==","signatures":[{"sig":"MEUCIGhB5CDWzwFPFlEQy6ehr6D3jTkBpzJAcTD1Qp5irCnQAiEArCaVDtvsqSrtnTfDb9SX/i3+H5sE99kRc/VEltiOh2o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15601982},"main":"js/index.js","config":{"blanket":{"pattern":"src","data-cover-never":["node_modules","tests"]}},"esnext":"src/index.js","browser":"build/pdfmake.js","engines":{"node":">=20"},"gitHead":"bf5e6785f33af73f60a1050eda2bf8e081a5d9bf","scripts":{"lint":"eslint \"./src/**/*.js\" \"./tests/**/*.js\" \"./examples/**/*.js\" \"./standard-fonts/**/*.js\" \"./fonts/**/*.js\"","test":"run-s build mocha lint","build":"run-s build:clean build:node build:browser build:standard-fonts build:fonts build:vfs","mocha":"mocha --reporter spec \"./tests/**/*.spec.js\"","build:vfs":"node build-vfs.js \"./fonts/Roboto\"","build:node":"babel src --out-dir js","playground":"node dev-playground/server.js","build:clean":"shx rm -rf js build","build:fonts":"shx mkdir -p build/fonts && shx mkdir -p build/fonts/Roboto && shx cp -r fonts/Roboto/*.* build/fonts/Roboto && brfs \"./src/browser-extensions/fonts/Roboto.js\" > build/fonts/Roboto.js","build:browser":"webpack","build:3rdparty":"shx cp node_modules/svg-to-pdfkit/source.js src/3rd-party/svg-to-pdfkit/source.js && shx cp node_modules/svg-to-pdfkit/LICENSE src/3rd-party/svg-to-pdfkit/LICENSE && git apply src/3rd-party/svg-to-pdfkit/0001-fix-contains.patch","build:examples":"node build-examples.js","build:standard-fonts":"shx mkdir -p build/standard-fonts && brfs \"./src/browser-extensions/standard-fonts/Courier.js\" > build/standard-fonts/Courier.js && brfs \"./src/browser-extensions/standard-fonts/Helvetica.js\" > build/standard-fonts/Helvetica.js && brfs \"./src/browser-extensions/standard-fonts/Times.js\" > build/standard-fonts/Times.js && brfs \"./src/browser-extensions/standard-fonts/Symbol.js\" > build/standard-fonts/Symbol.js && brfs \"./src/browser-extensions/standard-fonts/ZapfDingbats.js\" > build/standard-fonts/ZapfDingbats.js"},"_npmUser":{"name":"abaye123","email":"8140hp@gmail.com"},"repository":{"url":"git+https://github.com/abaye123/pdfmake.git","type":"git"},"_npmVersion":"11.6.2","description":"Client/server side PDF printing in pure JavaScript, with bidirectional (RTL) text support. Fork of pdfmake 0.3.11.","directories":{"test":"tests"},"_nodeVersion":"24.11.1","dependencies":{"pdfkit":"^0.19.1","xmldoc":"^2.0.3","linebreak":"^1.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","brfs":"^2.0.2","util":"^0.12.5","mocha":"^11.7.6","sinon":"^22.0.0","assert":"^2.1.0","buffer":"^6.0.3","eslint":"^10.4.1","rewire":"^9.0.1","core-js":"^3.49.0","globals":"^17.6.0","process":"^0.11.10","webpack":"^5.107.2","@babel/cli":"^7.29.7","@eslint/js":"^10.0.1","file-saver":"^2.0.5","@babel/core":"^7.29.7","npm-run-all":"^4.1.5","webpack-cli":"^7.0.3","babel-loader":"^10.1.1","expose-loader":"^5.0.1","svg-to-pdfkit":"github:alafr/SVG-to-PDFKit#b091ebd4e7b7d2310eb1003511cd5de480f7e0e1","browserify-zlib":"^0.2.0","transform-loader":"^0.2.4","@babel/preset-env":"^7.29.7","source-map-loader":"^5.0.0","stream-browserify":"^3.0.0","eslint-plugin-jsdoc":"^62.9.0","terser-webpack-plugin":"^5.6.1","string-replace-webpack-plugin":"^0.1.3","@babel/plugin-transform-modules-commonjs":"^7.29.7"},"_npmOperationalInternal":{"tmp":"tmp/pdfmake_0.3.11_1783528361810_0.1464709995613267","host":"s3://npm-registry-packages-npm-production"}},"0.3.12":{"name":"@abaye123/pdfmake","version":"0.3.12","description":"Client/server side PDF printing in pure JavaScript, with bidirectional (RTL) text support. Fork of pdfmake 0.3.11.","main":"js/index.js","esnext":"src/index.js","browser":"build/pdfmake.js","directories":{"test":"tests"},"dependencies":{"linebreak":"^1.1.0","pdfkit":"^0.19.1","xmldoc":"^2.0.3"},"devDependencies":{"@babel/cli":"^7.29.7","@babel/core":"^7.29.7","@babel/plugin-transform-modules-commonjs":"^7.29.7","@babel/preset-env":"^7.29.7","@eslint/js":"^10.0.1","assert":"^2.1.0","babel-loader":"^10.1.1","brfs":"^2.0.2","browserify-zlib":"^0.2.0","buffer":"^6.0.3","core-js":"^3.49.0","eslint":"^10.4.1","eslint-plugin-jsdoc":"^62.9.0","expose-loader":"^5.0.1","file-saver":"^2.0.5","globals":"^17.6.0","mocha":"^11.7.6","npm-run-all":"^4.1.5","process":"^0.11.10","rewire":"^9.0.1","shx":"^0.4.0","sinon":"^22.0.0","source-map-loader":"^5.0.0","stream-browserify":"^3.0.0","string-replace-webpack-plugin":"^0.1.3","svg-to-pdfkit":"github:alafr/SVG-to-PDFKit#b091ebd4e7b7d2310eb1003511cd5de480f7e0e1","terser-webpack-plugin":"^5.6.1","transform-loader":"^0.2.4","util":"^0.12.5","webpack":"^5.107.2","webpack-cli":"^7.0.3"},"engines":{"node":">=20"},"scripts":{"test":"run-s build mocha lint","build":"run-s build:clean build:node build:browser build:standard-fonts build:fonts build:vfs","build:clean":"shx rm -rf js build","build:3rdparty":"shx cp node_modules/svg-to-pdfkit/source.js src/3rd-party/svg-to-pdfkit/source.js && shx cp node_modules/svg-to-pdfkit/LICENSE src/3rd-party/svg-to-pdfkit/LICENSE && git apply src/3rd-party/svg-to-pdfkit/0001-fix-contains.patch","build:node":"babel src --out-dir js","build:browser":"webpack","build:vfs":"node build-vfs.js \"./fonts/Roboto\"","build:examples":"node build-examples.js","build:standard-fonts":"shx mkdir -p build/standard-fonts && brfs \"./src/browser-extensions/standard-fonts/Courier.js\" > build/standard-fonts/Courier.js && brfs \"./src/browser-extensions/standard-fonts/Helvetica.js\" > build/standard-fonts/Helvetica.js && brfs \"./src/browser-extensions/standard-fonts/Times.js\" > build/standard-fonts/Times.js && brfs \"./src/browser-extensions/standard-fonts/Symbol.js\" > build/standard-fonts/Symbol.js && brfs \"./src/browser-extensions/standard-fonts/ZapfDingbats.js\" > build/standard-fonts/ZapfDingbats.js","build:fonts":"shx mkdir -p build/fonts && shx mkdir -p build/fonts/Roboto && shx cp -r fonts/Roboto/*.* build/fonts/Roboto && brfs \"./src/browser-extensions/fonts/Roboto.js\" > build/fonts/Roboto.js","lint":"eslint \"./src/**/*.js\" \"./tests/**/*.js\" \"./examples/**/*.js\" \"./standard-fonts/**/*.js\" \"./fonts/**/*.js\"","mocha":"mocha --reporter spec \"./tests/**/*.spec.js\"","playground":"node dev-playground/server.js"},"repository":{"type":"git","url":"git+https://github.com/abaye123/pdfmake.git"},"keywords":["pdf","javascript","printing","layout","rtl","bidi","bidirectional","hebrew","unicode"],"author":{"name":"Bartek Pampuch","email":"bartosz.pampuch@gmail.com"},"contributors":[{"name":"abaye","email":"a@abaye.co"}],"license":"MIT","bugs":{"url":"https://github.com/abaye123/pdfmake/issues"},"homepage":"https://github.com/abaye123/pdfmake#readme","publishConfig":{"access":"public"},"config":{"blanket":{"pattern":"src","data-cover-never":["node_modules","tests"]}},"gitHead":"ac82beed872adeb9526a8a717c7e3eacbdcdae07","_id":"@abaye123/pdfmake@0.3.12","_nodeVersion":"24.11.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-X5MjWKnvVogGala0ElkAC9qqzx9V4hFi+NnttiTqdkyjsOsBLcKK8oFY+0FbeQucDS3nGIeV6mo/DSNp7kf+/A==","shasum":"3b7a530bd818290744227c839047a7db199c26d2","tarball":"https://registry.npmjs.org/@abaye123/pdfmake/-/pdfmake-0.3.12.tgz","fileCount":117,"unpackedSize":15607912,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCKQCqqSA8lYJvmf8ZWGtWudhtBNNqqxuH0FI4xXVM8kAIgWn4jgUa3RYJEB52XKtwRSUVnSqi3hApc+eXAziB+vP8="}]},"_npmUser":{"name":"abaye123","email":"8140hp@gmail.com"},"maintainers":[{"name":"abaye123","email":"8140hp@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pdfmake_0.3.12_1784840838202_0.8452682700034551"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-08T16:32:41.656Z","modified":"2026-07-23T21:07:18.666Z","0.3.11":"2026-07-08T16:32:42.137Z","0.3.12":"2026-07-23T21:07:18.506Z"},"bugs":{"url":"https://github.com/abaye123/pdfmake/issues"},"author":{"name":"Bartek Pampuch","email":"bartosz.pampuch@gmail.com"},"license":"MIT","homepage":"https://github.com/abaye123/pdfmake#readme","keywords":["pdf","javascript","printing","layout","rtl","bidi","bidirectional","hebrew","unicode"],"repository":{"type":"git","url":"git+https://github.com/abaye123/pdfmake.git"},"description":"Client/server side PDF printing in pure JavaScript, with bidirectional (RTL) text support. Fork of pdfmake 0.3.11.","contributors":[{"name":"abaye","email":"a@abaye.co"}],"maintainers":[{"name":"abaye123","email":"8140hp@gmail.com"}],"readme":"# @abaye123/pdfmake [![npm][npm_img]][npm_url]\r\n\r\n[npm_img]: https://img.shields.io/npm/v/@abaye123/pdfmake.svg?colorB=0E7FBF\r\n[npm_url]: https://www.npmjs.com/package/@abaye123/pdfmake\r\n\r\n\r\n> **This is a fork of [pdfmake](https://github.com/bpampuch/pdfmake) v0.3.11 that adds bidirectional (RTL) text support.**\r\n>\r\n> All credit for pdfmake itself goes to [@bpampuch](https://github.com/bpampuch) and [@liborm85](https://github.com/liborm85).\r\n> This fork tracks upstream and only adds the bidi layer described below.\r\n>\r\n> ```\r\n> npm install @abaye123/pdfmake\r\n> ```\r\n>\r\n> ```js\r\n> const pdfmake = require('@abaye123/pdfmake');\r\n> ```\r\n\r\n## RTL / bidirectional text\r\n\r\nImplements [UAX #9](https://www.unicode.org/reports/tr9/) visual reordering at the line level, so\r\nHebrew content renders in correct visual right-to-left order. Glyph shaping and per-run character\r\nreversal are left to fontkit (already inside pdfkit); this fork handles what fontkit cannot see\r\nacross: inline ordering, bracket mirroring, RTL-only inlines, and per-script segmentation.\r\n\r\nSet `rtl: true` on a text node, table, list, or in `defaultStyle`:\r\n\r\n```js\r\nconst docDefinition = {\r\n  defaultStyle: { font: 'Heebo', rtl: true },\r\n  content: [\r\n    'שלום עולם',\r\n    { text: 'טקסט עם English באמצע ומספר 12345', rtl: true }\r\n  ]\r\n};\r\n```\r\n\r\n* When `rtl: true` and no explicit `alignment`, alignment defaults to `'right'`.\r\n* Mixed Hebrew/Latin paragraphs **without** an explicit `rtl` flag still auto-reorder via bidi.\r\n* In RTL mode, `margin: [left, top, right, bottom]` mirrors, so `margin[0]` is the visual-right margin.\r\n* Tables with `rtl: true` reverse column order (colSpan-aware); lists put bullets/numbers on the right.\r\n* Currency symbols (`₪ € £ ¥ $ ¢`) group with adjacent digits, so `₪3.50` stays one LTR run.\r\n\r\nYou must supply a font containing Hebrew glyphs — the bundled Roboto has none.\r\nSee [`examples/rtl_hebrew.js`](examples/rtl_hebrew.js) for a complete runnable demo.\r\n\r\n**Not supported:** Arabic shaping (contextual/joining forms — needs HarfBuzz), and bidi explicit\r\nembedding controls (LRE/RLE/PDF/LRI/RLI/FSI/PDI).\r\n\r\n---\r\n\r\nPDF document generation library for server-side and client-side in pure JavaScript.\r\n\r\nCheck out [the playground](http://bpampuch.github.io/pdfmake/playground.html) and [examples](https://github.com/bpampuch/pdfmake/tree/master/examples).\r\n\r\n### Features\r\n\r\n* line-wrapping,\r\n* text-alignments (left, right, centered, justified),\r\n* numbered and bulleted lists,\r\n* tables and columns\r\n  * auto/fixed/star-sized widths,\r\n  * col-spans and row-spans,\r\n  * headers automatically repeated in case of a page-break,\r\n  * snaking columns (newspaper-style layout where content flows column-to-column),\r\n* images and vector graphics,\r\n* convenient styling and style inheritance,\r\n* page headers and footers:\r\n  * static or dynamic content,\r\n  * access to current page number and page count,\r\n* background-layer,\r\n* page dimensions and orientations,\r\n* margins,\r\n* document sections,\r\n* custom page breaks,\r\n* font embedding,\r\n* support for complex, multi-level (nested) structures,\r\n* table of contents,\r\n* helper methods for opening/printing/downloading the generated PDF,\r\n* setting of PDF metadata (e.g. author, subject).\r\n\r\n## Documentation\r\n\r\n**Documentation URL: https://pdfmake.github.io/docs/**\r\n\r\nSource of documentation: https://github.com/pdfmake/docs **Improvements are welcome!**\r\n\r\n## Building from sources\r\n\r\nusing npm:\r\n```\r\ngit clone https://github.com/bpampuch/pdfmake.git\r\ncd pdfmake\r\nnpm install\r\nnpm run build\r\n```\r\n\r\nusing yarn:\r\n```\r\ngit clone https://github.com/bpampuch/pdfmake.git\r\ncd pdfmake\r\nyarn\r\nyarn run build\r\n```\r\n\r\n## License\r\nMIT\r\n\r\n## Authors\r\n* [@bpampuch](https://github.com/bpampuch) (founder)\r\n* [@liborm85](https://github.com/liborm85)\r\n\r\npdfmake is based on a truly amazing library [pdfkit](https://github.com/devongovett/pdfkit) (credits to [@devongovett](https://github.com/devongovett)).\r\n\r\nThanks to all contributors.\r\n","readmeFilename":"README.md"}