{"_id":"pdfmake-rtl","_rev":"21-bb814b8dbdcdf033bf07ae59fb21be98","name":"pdfmake-rtl","dist-tags":{"latest":"2.1.2"},"versions":{"1.3.6":{"name":"pdfmake-rtl","version":"1.3.6","keywords":["pdf","javascript","printing","layout","rtl","arabic","Persian","Urdu","right-to-left","bidirectional","i18n","localization","automatic-detection","unicode","middle-east","document-generation"],"author":{"url":"based on original PDFMake by Bartek Pampuch","name":"Aycer"},"license":"MIT","_id":"pdfmake-rtl@1.3.6","maintainers":[{"name":"aycer","email":"aysser21@gmail.com"}],"contributors":[{"url":"https://github.com/bpampuch","name":"Bartek Pampuch","email":"bartosz.pampuch@gmail.com"}],"homepage":"https://github.com/aysnet1/pdfmake-rtl#readme","bugs":{"url":"https://github.com/aysnet1/pdfmake-rtl/issues"},"dist":{"shasum":"4d1b6c8c6f31fbeeb3f67276e5f6fd663b250943","tarball":"https://registry.npmjs.org/pdfmake-rtl/-/pdfmake-rtl-1.3.6.tgz","fileCount":42,"integrity":"sha512-PQFY78Bn4cLJFKgpaOT8QxO/ic1V8GxJ+mV1eR0zVtvpo5SlvnBNhaohV5j+vTmk81PnVughhoyiGCY7t2xsqw==","signatures":[{"sig":"MEYCIQC1KVOS4esJJvzmY4+dUtlkPeCARbWG8i3+x3BVhcENSQIhAMabUZj4A9JTlEYgtKzRnc1bPb0kFjfSbGbWIvym9LDh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15041476},"main":"index.js","config":{"blanket":{"pattern":"src","data-cover-never":["node_modules","tests"]}},"browser":"build/pdfmake.js","engines":{"node":">=18"},"gitHead":"395591092ce252e46aa816741236275ca628055a","scripts":{"lint":"eslint \"./src/**/*.js\" \"./tests/**/*.js\" \"./examples/**/*.js\"","test":"run-s build mocha","build":"run-s build:3rdparty build:browser","mocha":"mocha --reporter spec \"./tests/**/*.js\"","build:vfs":"node build-vfs.js \"./examples/fonts\"","playground":"node dev-playground/server.js","test-package":"node test-package.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","build:examples":"node build-examples.js","prepublishOnly":"npm run test-package && echo 'Package ready for publishing'","example:rtl-nested-header":"node examples/rtl-nested-header.js","build:browser-standard-fonts":"webpack --config webpack-standardfonts.config.js"},"_npmUser":{"name":"aycer","email":"aysser21@gmail.com"},"repository":{"url":"git+https://github.com/aysnet1/pdfmake-rtl.git","type":"git"},"_npmVersion":"10.8.2","description":"Enhanced PDFMake with automatic RTL (Arabic/Persian/Urdu) support - Complete standalone package (beta)","directories":{"test":"tests","examples":"examples"},"rtlFeatures":{"unicodeRanges":["0x0590-0x05FF","0x0600-0x06FF","0x0750-0x077F","0xFB1D-0xFB4F","0xFE70-0xFEFF"],"arabicTextSupport":true,"hebrewTextSupport":true,"bidirectionalTextProcessing":true,"automaticTableColumnReversal":true},"_nodeVersion":"20.18.3","dependencies":{"xmldoc":"^2.0.1","iconv-lite":"^0.6.3","@foliojs-fork/pdfkit":"^0.15.3","@foliojs-fork/linebreak":"^1.1.2"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"shx":"^0.4.0","brfs":"^2.0.2","util":"^0.12.5","mocha":"^11.2.2","sinon":"^20.0.0","assert":"^2.1.0","buffer":"^6.0.3","eslint":"^9.26.0","rewire":"^7.0.0","core-js":"3.19.0","globals":"^16.1.0","process":"^0.11.10","webpack":"^5.99.8","@babel/cli":"^7.27.2","@eslint/js":"^9.26.0","file-saver":"^2.0.5","@babel/core":"^7.27.1","npm-run-all":"^4.1.5","webpack-cli":"^6.0.1","babel-loader":"^10.0.0","expose-loader":"^5.0.1","svg-to-pdfkit":"^0.1.8","browserify-zlib":"^0.2.0","transform-loader":"^0.2.4","@babel/preset-env":"^7.27.2","source-map-loader":"^5.0.0","stream-browserify":"^3.0.0","eslint-plugin-jsdoc":"^50.6.11","terser-webpack-plugin":"^5.3.14","string-replace-webpack-plugin":"^0.1.3","@babel/plugin-transform-modules-commonjs":"^7.27.1"},"_npmOperationalInternal":{"tmp":"tmp/pdfmake-rtl_1.3.6_1754653753609_0.30653472274422344","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"pdfmake-rtl","version":"2.0.0","keywords":["pdf-rtl","pdf","javascript","printing","layout","rtl","arabic","persian","urdu","right-to-left","bidirectional","i18n","localization","automatic-detection","unicode","middle-east","document-generation"],"author":{"url":"based on original PDFMake by Bartek Pampuch","name":"Aycer"},"license":"MIT","_id":"pdfmake-rtl@2.0.0","maintainers":[{"name":"aycer","email":"aysser21@gmail.com"}],"contributors":[{"url":"https://github.com/aysnet1","name":"Aycer","email":"aysser21@gmail.com"}],"homepage":"https://github.com/aysnet1/pdfmake-rtl#readme","bugs":{"url":"https://github.com/aysnet1/pdfmake-rtl/issues"},"dist":{"shasum":"f506031c053ae0f7db635338ed2023c99615a0fd","tarball":"https://registry.npmjs.org/pdfmake-rtl/-/pdfmake-rtl-2.0.0.tgz","fileCount":137,"integrity":"sha512-PvdUbyHRM6adQ+02A0Wih/2ujk+7LHhEZfOAO3GaTLBa8epw1egJcyFraxyJ8t9ToqgvsrKq4DisZZJRCmp0eQ==","signatures":[{"sig":"MEUCIQDWZjjkDbCPmodyc7YYaOxpQkOQe1bqCw1KcsxGxr6C4QIgFe/Nr9lsXa0S4RyPw49JEDq/A4KGvDOsRBtyoTXQ2h8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21008749},"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":"edec28da4b57a059ac2b41f7fefcf136d78e7452","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:cairo build:vfs","mocha":"mocha --reporter spec \"./tests/**/*.spec.js\"","build:vfs":"node build-vfs.js \"./examples/fonts\"","build:node":"babel src --out-dir js","playground":"node dev-playground/server.js","build:cairo":"shx mkdir -p build/fonts && shx mkdir -p build/fonts/Cairo && shx cp -r fonts/Cairo/*.* build/fonts/Cairo && brfs \"./src/browser-extensions/fonts/Cairo.js\" > build/fonts/Cairo.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":"aycer","email":"aysser21@gmail.com"},"repository":{"url":"git+https://github.com/aysnet1/pdfmake-rtl.git","type":"git"},"_npmVersion":"10.8.2","description":"Enhanced PDFMake with comprehensive RTL (Arabic/Persian/Urdu) support - Production ready package","directories":{"test":"tests"},"rtlFeatures":{"unicodeRanges":["0x0590-0x05FF","0x0600-0x06FF","0x0750-0x077F","0xFB1D-0xFB4F","0xFE70-0xFEFF"],"arabicTextSupport":true,"hebrewTextSupport":true,"bidirectionalTextProcessing":true,"automaticTableColumnReversal":true},"_nodeVersion":"20.19.0","dependencies":{"pdfkit":"^0.17.2","xmldoc":"^2.0.3","express":"^5.2.1","linebreak":"^1.1.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","brfs":"^2.0.2","util":"^0.12.5","mocha":"^11.7.5","sinon":"^21.0.1","assert":"^2.1.0","buffer":"^6.0.3","eslint":"^9.39.2","rewire":"^9.0.1","core-js":"^3.47.0","globals":"^17.0.0","process":"^0.11.10","webpack":"^5.104.1","@babel/cli":"^7.28.6","@eslint/js":"^9.39.2","file-saver":"^2.0.5","@babel/core":"^7.28.6","npm-run-all":"^4.1.5","webpack-cli":"^6.0.1","babel-loader":"^10.0.0","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.28.6","source-map-loader":"^5.0.0","stream-browserify":"^3.0.0","eslint-plugin-jsdoc":"^62.1.0","terser-webpack-plugin":"^5.3.16","string-replace-webpack-plugin":"^0.1.3","@babel/plugin-transform-modules-commonjs":"^7.28.6"},"_npmOperationalInternal":{"tmp":"tmp/pdfmake-rtl_2.0.0_1770577682306_0.11964623620490444","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"pdfmake-rtl","version":"2.1.0","keywords":["pdf-rtl","pdf","javascript","printing","layout","rtl","arabic","persian","urdu","right-to-left","bidirectional","i18n","localization","automatic-detection","unicode","middle-east","document-generation"],"author":{"url":"based on original PDFMake by Bartek Pampuch","name":"Aycer"},"license":"MIT","_id":"pdfmake-rtl@2.1.0","maintainers":[{"name":"aycer","email":"aysser21@gmail.com"}],"contributors":[{"url":"https://github.com/aysnet1","name":"Aycer","email":"aysser21@gmail.com"}],"homepage":"https://github.com/aysnet1/pdfmake-rtl#readme","bugs":{"url":"https://github.com/aysnet1/pdfmake-rtl/issues"},"dist":{"shasum":"24948700119900c9fcd0cbb466dfb54f712f2703","tarball":"https://registry.npmjs.org/pdfmake-rtl/-/pdfmake-rtl-2.1.0.tgz","fileCount":137,"integrity":"sha512-0NCtL8c7667CU5k1WiF1RbOwaDOGtJT0+u4egz52edwpgrCrNwoUUsWhsq6y/WtBBf5soIv4GT6mXVobjnq4vw==","signatures":[{"sig":"MEQCICIGdFiZ+ygruF7xYvYLbboOiuyTO+3mMOM6mPjbSpT4AiAhGYG+W/6G1h42HDGvYEDHosXAPyVrqgz8W8rspXcxiA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21008716},"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":"d6c598d0ab9c1cf2bfedb39f493b33b73affe279","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:cairo build:vfs","mocha":"mocha --reporter spec \"./tests/**/*.spec.js\"","build:vfs":"node build-vfs.js \"./examples/fonts\"","build:node":"babel src --out-dir js","playground":"node dev-playground/server.js","build:cairo":"shx mkdir -p build/fonts && shx mkdir -p build/fonts/Cairo && shx cp -r fonts/Cairo/*.* build/fonts/Cairo && brfs \"./src/browser-extensions/fonts/Cairo.js\" > build/fonts/Cairo.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":"aycer","email":"aysser21@gmail.com"},"repository":{"url":"git+https://github.com/aysnet1/pdfmake-rtl.git","type":"git"},"_npmVersion":"10.8.2","description":"Enhanced PDFMake with comprehensive RTL (Arabic/Persian/Urdu) support - Production ready package","directories":{"test":"tests"},"rtlFeatures":{"unicodeRanges":["0x0590-0x05FF","0x0600-0x06FF","0x0750-0x077F","0xFB1D-0xFB4F","0xFE70-0xFEFF"],"arabicTextSupport":true,"hebrewTextSupport":true,"bidirectionalTextProcessing":true,"automaticTableColumnReversal":true},"_nodeVersion":"20.19.0","dependencies":{"pdfkit":"^0.17.2","xmldoc":"^2.0.3","express":"^5.2.1","linebreak":"^1.1.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","brfs":"^2.0.2","util":"^0.12.5","mocha":"^11.7.5","sinon":"^21.0.1","assert":"^2.1.0","buffer":"^6.0.3","eslint":"^9.39.2","rewire":"^9.0.1","core-js":"^3.47.0","globals":"^17.0.0","process":"^0.11.10","webpack":"^5.104.1","@babel/cli":"^7.28.6","@eslint/js":"^9.39.2","file-saver":"^2.0.5","@babel/core":"^7.28.6","npm-run-all":"^4.1.5","webpack-cli":"^6.0.1","babel-loader":"^10.0.0","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.28.6","source-map-loader":"^5.0.0","stream-browserify":"^3.0.0","eslint-plugin-jsdoc":"^62.1.0","terser-webpack-plugin":"^5.3.16","string-replace-webpack-plugin":"^0.1.3","@babel/plugin-transform-modules-commonjs":"^7.28.6"},"_npmOperationalInternal":{"tmp":"tmp/pdfmake-rtl_2.1.0_1770577981080_0.6697477677344184","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"pdfmake-rtl","version":"2.1.1","keywords":["pdf-rtl","pdf","javascript","printing","layout","rtl","arabic","persian","urdu","right-to-left","bidirectional","i18n","localization","automatic-detection","unicode","middle-east","document-generation"],"author":{"url":"based on original PDFMake by Bartek Pampuch","name":"Aycer"},"license":"MIT","_id":"pdfmake-rtl@2.1.1","maintainers":[{"name":"aycer","email":"aysser21@gmail.com"}],"contributors":[{"url":"https://github.com/aysnet1","name":"Aycer","email":"aysser21@gmail.com"}],"homepage":"https://github.com/aysnet1/pdfmake-rtl#readme","bugs":{"url":"https://github.com/aysnet1/pdfmake-rtl/issues"},"dist":{"shasum":"3d0b8c17c0a2d65971593b3dcb6b10e8484a2e5c","tarball":"https://registry.npmjs.org/pdfmake-rtl/-/pdfmake-rtl-2.1.1.tgz","fileCount":93,"integrity":"sha512-jmy2XSOx5dATBTAejleH6qi7y/erc/rM0J1f5oFQoNFt6x0lBS4oDzvxM6M9XCNWtTDPsghVeNHh5cmV9u4riA==","signatures":[{"sig":"MEYCIQDp5iSRn2RfUzB2HPP/gcEOxQBm2C0SKWb2UgFFVkjFgQIhAP35C7xhuKmGnzCW/MITPjhi2XpsB8TZtvLHVNEbtsvV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20591684},"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":"c05f96f86e52ba34f80143cad758e2c7c20af0a5","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:cairo build:vfs","mocha":"mocha --reporter spec \"./tests/**/*.spec.js\"","build:vfs":"node build-vfs.js \"./examples/fonts\"","build:node":"babel src --out-dir js","playground":"node dev-playground/server.js","build:cairo":"shx mkdir -p build/fonts && shx mkdir -p build/fonts/Cairo && shx cp -r fonts/Cairo/*.* build/fonts/Cairo && brfs \"./src/browser-extensions/fonts/Cairo.js\" > build/fonts/Cairo.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":"aycer","email":"aysser21@gmail.com"},"repository":{"url":"git+https://github.com/aysnet1/pdfmake-rtl.git","type":"git"},"_npmVersion":"10.9.0","description":"Enhanced PDFMake with comprehensive RTL (Arabic/Persian/Urdu) support - Production ready package","directories":{"test":"tests"},"rtlFeatures":{"unicodeRanges":["0x0590-0x05FF","0x0600-0x06FF","0x0750-0x077F","0xFB1D-0xFB4F","0xFE70-0xFEFF"],"arabicTextSupport":true,"hebrewTextSupport":true,"bidirectionalTextProcessing":true,"automaticTableColumnReversal":true},"_nodeVersion":"22.12.0","dependencies":{"pdfkit":"^0.17.2","xmldoc":"^2.0.3","express":"^5.2.1","linebreak":"^1.1.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","brfs":"^2.0.2","util":"^0.12.5","mocha":"^11.7.5","sinon":"^21.0.1","assert":"^2.1.0","buffer":"^6.0.3","eslint":"^9.39.2","rewire":"^9.0.1","core-js":"^3.47.0","globals":"^17.0.0","process":"^0.11.10","webpack":"^5.104.1","@babel/cli":"^7.28.6","@eslint/js":"^9.39.2","file-saver":"^2.0.5","@babel/core":"^7.28.6","npm-run-all":"^4.1.5","webpack-cli":"^6.0.1","babel-loader":"^10.0.0","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.28.6","source-map-loader":"^5.0.0","stream-browserify":"^3.0.0","eslint-plugin-jsdoc":"^62.1.0","terser-webpack-plugin":"^5.3.16","string-replace-webpack-plugin":"^0.1.3","@babel/plugin-transform-modules-commonjs":"^7.28.6"},"_npmOperationalInternal":{"tmp":"tmp/pdfmake-rtl_2.1.1_1770587165560_0.6646321212214381","host":"s3://npm-registry-packages-npm-production"}},"2.1.2":{"name":"pdfmake-rtl","version":"2.1.2","description":"Enhanced PDFMake with comprehensive RTL (Arabic/Persian/Urdu) support - Production ready package","main":"js/index.js","esnext":"src/index.js","browser":"build/pdfmake.js","directories":{"test":"tests"},"dependencies":{"express":"^5.2.1","linebreak":"^1.1.0","pdfkit":"^0.17.2","xmldoc":"^2.0.3"},"devDependencies":{"@babel/cli":"^7.28.6","@babel/core":"^7.28.6","@babel/plugin-transform-modules-commonjs":"^7.28.6","@babel/preset-env":"^7.28.6","@eslint/js":"^9.39.2","assert":"^2.1.0","babel-loader":"^10.0.0","brfs":"^2.0.2","browserify-zlib":"^0.2.0","buffer":"^6.0.3","core-js":"^3.47.0","eslint":"^9.39.2","eslint-plugin-jsdoc":"^62.1.0","expose-loader":"^5.0.1","file-saver":"^2.0.5","globals":"^17.0.0","mocha":"^11.7.5","npm-run-all":"^4.1.5","process":"^0.11.10","rewire":"^9.0.1","shx":"^0.4.0","sinon":"^21.0.1","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.3.16","transform-loader":"^0.2.4","util":"^0.12.5","webpack":"^5.104.1","webpack-cli":"^6.0.1"},"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:cairo 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 \"./examples/fonts\"","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","build:cairo":"shx mkdir -p build/fonts && shx mkdir -p build/fonts/Cairo && shx cp -r fonts/Cairo/*.* build/fonts/Cairo && brfs \"./src/browser-extensions/fonts/Cairo.js\" > build/fonts/Cairo.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/aysnet1/pdfmake-rtl.git"},"bugs":{"url":"https://github.com/aysnet1/pdfmake-rtl/issues"},"homepage":"https://github.com/aysnet1/pdfmake-rtl#readme","rtlFeatures":{"automaticTableColumnReversal":true,"arabicTextSupport":true,"hebrewTextSupport":true,"bidirectionalTextProcessing":true,"unicodeRanges":["0x0590-0x05FF","0x0600-0x06FF","0x0750-0x077F","0xFB1D-0xFB4F","0xFE70-0xFEFF"]},"keywords":["pdf-rtl","pdf","javascript","printing","layout","rtl","arabic","persian","urdu","right-to-left","bidirectional","i18n","localization","automatic-detection","unicode","middle-east","document-generation"],"author":{"name":"Aycer","url":"based on original PDFMake by Bartek Pampuch"},"contributors":[{"name":"Aycer","email":"aysser21@gmail.com","url":"https://github.com/aysnet1"}],"license":"MIT","config":{"blanket":{"pattern":"src","data-cover-never":["node_modules","tests"]}},"_id":"pdfmake-rtl@2.1.2","gitHead":"4f71899ecc93939323fda5fa7026cc5d353ac694","_nodeVersion":"22.12.0","_npmVersion":"10.9.0","dist":{"integrity":"sha512-ySVXIG1oiKxCIhGNDKTdlpYTCWKeSXTRMiS5nXZuh9chJ5GLblUmGPuZzgjIp0cvYi1JSPkpxMTFYapSTuRTqQ==","shasum":"9d2b0ccdc7f3e28cb698ce2d0f12cc65ae92a436","tarball":"https://registry.npmjs.org/pdfmake-rtl/-/pdfmake-rtl-2.1.2.tgz","fileCount":137,"unpackedSize":20996379,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCUwOAH8AFwo4WR82bkCEPy/a9wqsIG0HV6rAcS/ilBNQIhANrb80DP/PrhLMBs8HDtk3n4dkIruTaHCn0c4a0Kkzvd"}]},"_npmUser":{"name":"aycer","email":"aysser21@gmail.com"},"maintainers":[{"name":"aycer","email":"aysser21@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pdfmake-rtl_2.1.2_1770752676368_0.8333840690673255"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-07T01:16:26.124Z","modified":"2026-02-10T19:44:36.854Z","1.0.0":"2025-08-05T09:57:27.039Z","1.2.0":"2025-08-07T01:16:26.440Z","1.3.0":"2025-08-07T01:26:39.871Z","1.3.1":"2025-08-07T01:27:43.546Z","1.3.2":"2025-08-07T11:06:20.919Z","1.3.3":"2025-08-07T20:51:56.051Z","1.3.4":"2025-08-07T22:50:48.972Z","1.3.5":"2025-08-07T23:40:10.486Z","1.3.6":"2025-08-08T11:49:13.909Z","2.0.0":"2026-02-08T19:08:02.830Z","2.1.0":"2026-02-08T19:13:01.512Z","2.1.1":"2026-02-08T21:46:05.896Z","2.1.2":"2026-02-10T19:44:36.733Z"},"bugs":{"url":"https://github.com/aysnet1/pdfmake-rtl/issues"},"author":{"name":"Aycer","url":"based on original PDFMake by Bartek Pampuch"},"license":"MIT","homepage":"https://github.com/aysnet1/pdfmake-rtl#readme","keywords":["pdf-rtl","pdf","javascript","printing","layout","rtl","arabic","persian","urdu","right-to-left","bidirectional","i18n","localization","automatic-detection","unicode","middle-east","document-generation"],"repository":{"type":"git","url":"git+https://github.com/aysnet1/pdfmake-rtl.git"},"description":"Enhanced PDFMake with comprehensive RTL (Arabic/Persian/Urdu) support - Production ready package","contributors":[{"name":"Aycer","email":"aysser21@gmail.com","url":"https://github.com/aysnet1"}],"maintainers":[{"name":"aycer","email":"aysser21@gmail.com"}],"readme":"# pdfmake-RTL [![Node.js CI][githubactions_img]][githubactions_url] [![GitHub][github_img]][github_url] [![npm][npm_img]][npm_url]\n\n[githubactions_img]: https://github.com/aysnet1/pdfmake-rtl/actions/workflows/node.js.yml/badge.svg?branch=master\n[githubactions_url]: https://github.com/aysnet1/pdfmake-rtl/actions\n[github_img]: https://img.shields.io/github/release/aysnet1/pdfmake-rtl.svg?colorB=0E7FBF\n[github_url]: https://github.com/bpampuch/pdfmake-rtl/releases/latest\n[npm_img]: https://img.shields.io/npm/v/pdfmake-rtl.svg?colorB=0E7FBF\n[npm_url]: https://www.npmjs.com/package/pdfmake-rtl\n\n<!-- [cndjs_url]: https://cdnjs.com/libraries/pdfmake-rtl -->\n\n**PDFMake RTL** is an enhanced version of [PDFMake](https://www.npmjs.com/package/pdfmake) with **automatic RTL (Right-to-Left) language support** for Arabic, Persian (Farsi), Urdu, and other RTL scripts. No manual configuration needed—just write your content and the library automatically detects and handles RTL text!\n\nAll existing PDFMake code works unchanged, with automatic RTL support added!\n\n## 🚀 Key Features\n\n- ✅ **Automatic RTL Detection** - No need to set `rtl` flags\n- ✅ **Smart Table Column Reversal** - Arabic/Persian/Urdu tables automatically reverse columns\n- ✅ **Unicode Script Detection** - Supports Arabic, Persian, Urdu, and extensions\n- ✅ **Automatic Font Selection** - Uses appropriate fonts per language\n- ✅ **Proper Text Alignment** - RTL text aligns right, LTR text aligns left\n- ✅ **List Bullet Positioning** - Bullets positioned correctly for RTL lists\n- ✅ **Mixed Content Support** - Handles Arabic/Persian/Urdu/English mixed content\n- ✅ **100% PDFMake Compatible** - Drop-in replacement for PDFMake\n\n## 🌐 Live Demo\n\n👉 [View Live Demo on Netlify](https://pdfmake-rtl.netlify.app)\n\nPDF document generation library for server-side and client-side in pure JavaScript.\n\nCheck out [the playground](http://aysnet1.github.io/pdfmake-rtl/playground.html) and [examples](https://github.com/aysnet1/pdfmake-rtl/tree/master/examples).\n\n## documentation\n\nFor comprehensive guides, API references, and usage examples, visit the official documentation at [pdfmake.github.io/docs](https://pdfmake.github.io/docs/).\n\n### Features\n\n#### 🔤 RTL Language Support\n\n- **Automatic RTL detection** for Arabic, Persian (Farsi), Urdu, and other RTL scripts\n- **Smart table column reversal** — columns automatically reverse for RTL content\n- **Automatic font selection** — uses Cairo font for Arabic, Persian, and Urdu text\n- **Proper text alignment** — RTL text automatically aligns right, LTR aligns left\n- **List bullet positioning** — bullets and numbers positioned correctly for RTL lists\n- **Mixed content handling** — seamlessly handles Arabic/Persian/Urdu/English in the same document\n- **Unicode script detection** — supports Arabic, Persian, Urdu characters and extensions\n\n#### 🗒️ Supported RTL Languages\n\n| Language          | Script  | Auto Font |\n| ----------------- | ------- | --------- |\n| Arabic            | العربية | Cairo     |\n| Persian (Farsi)   | فارسی   | Cairo     |\n| Urdu              | اردو    | Cairo     |\n| Other RTL scripts | —       | Cairo     |\n\n#### 📄 General Features\n\n- line-wrapping,\n- text-alignments (left, right, centered, justified),\n- numbered and bulleted lists (with RTL-aware bullet positioning),\n- tables and columns\n  - auto/fixed/star-sized widths,\n  - col-spans and row-spans,\n  - headers automatically repeated in case of a page-break,\n  - **automatic column reversal for RTL content**,\n- images and vector graphics,\n- convenient styling and style inheritance,\n- page headers and footers:\n  - static or dynamic content,\n  - access to current page number and page count,\n- background-layer,\n- page dimensions and orientations,\n- margins,\n- document sections,\n- custom page breaks,\n- font embedding (Cairo font included for RTL support),\n- support for complex, multi-level (nested) structures,\n- table of contents,\n- helper methods for opening/printing/downloading the generated PDF,\n- setting of PDF metadata (e.g. author, subject).\n\n## 📦 Installation\n\n````bash\nnpm install pdfmake-rtl\n```markdown\n\n## ⚡ Quick Start — Browser (Client-Side)\n\n```html\n<!-- Load pdfmake-rtl + fonts -->\n<script src=\"https://unpkg.com/pdfmake-rtl/build/pdfmake.min.js\"></script>\n<script src=\"https://unpkg.com/pdfmake-rtl/build/vfs_fonts.js\"></script>\n<!-- <script src=\"https://unpkg.com/pdfmake-rtl/build/fonts/Cairo.js\"></script> -->\n\n<script>\n\tvar dd = {\n\t\trtl: true,\n\t\t// If Cairo font isn't applied automatically, set `rtl: true` to force RTL mode or add defaultStyle:{font:'Cairo'}\n\t\tcontent: [\n\t\t\t// RTL paragraph — auto-detected, no configuration needed\n\t\t\t{ text: \"مرحباً بكم في مكتبة pdfmake-rtl\", fontSize: 20, bold: true },\n\t\t\t{\n\t\t\t\ttext: \"هذه المكتبة تدعم اللغة العربية تلقائياً\",\n\t\t\t\tmargin: [0, 0, 0, 15],\n\t\t\t},\n\n\t\t\t// RTL table — columns auto-reverse for Arabic content\n\t\t\t{\n\t\t\t\ttable: {\n\t\t\t\t\t// rtl:true\n\t\t\t\t\twidths: [\"*\", \"*\", \"*\"],\n\t\t\t\t\tbody: [\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t{ text: \"الراتب\", bold: true },\n\t\t\t\t\t\t\t{ text: \"القسم\", bold: true },\n\t\t\t\t\t\t\t{ text: \"الاسم\", bold: true },\n\t\t\t\t\t\t],\n\t\t\t\t\t\t[\"5000\", \"تكنولوجيا\", \"أحمد محمد\"],\n\t\t\t\t\t\t[\"6000\", \"تسويق\", \"فاطمة علي\"],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\n\t\t\t// Force RTL on any table with rtl: true\n\t\t\t{\n\t\t\t\ttable: {\n\t\t\t\t\trtl: true,\n\t\t\t\t\twidths: [\"*\", \"*\", \"*\"],\n\t\t\t\t\tbody: [\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t{ text: \"Status\", bold: true },\n\t\t\t\t\t\t\t{ text: \"Name\", bold: true },\n\t\t\t\t\t\t\t{ text: \"#\", bold: true },\n\t\t\t\t\t\t],\n\t\t\t\t\t\t[\"Active\", \"Ali Hassan\", \"1\"],\n\t\t\t\t\t\t[\"Active\", \"Sara Ahmed\", \"2\"],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t};\n\n\tpdfMake.createPdf(dd).open();\n</script>\n````\n\n> 📄 See the full working example: [`examples/simple-rtl-table.html`](examples/simple-rtl-table.html)\n\n## ⚡ Quick Start — Node.js (Server-Side)\n\n```js\nvar pdfmake = require(\"pdfmake-rtl\");\n\n// Add fonts\n// Cairo is the default font for RTL languages (Arabic, Persian, Urdu)\n// Roboto is the default font for LTR/Latin text\nvar Roboto = require(\"pdfmake-rtl/fonts/Roboto\");\npdfmake.addFonts(Roboto);\n\nvar Cairo = require(\"pdfmake-rtl/fonts/Cairo\");\npdfmake.addFonts(Cairo);\n\nvar dd = {\n\t// If Cairo font isn't applied automatically, set `rtl: true` to force RTL mode or add defaultStyle Cairo\n\trtl: true, // Forces RTL layout direction for the entire document\n\tcontent: [\n\t\t{ text: \"مرحباً بكم في مكتبة pdfmake-rtl\", fontSize: 20, bold: true },\n\t\t{\n\t\t\ttable: {\n\t\t\t\twidths: [\"*\", \"*\", \"*\"],\n\t\t\t\tbody: [\n\t\t\t\t\t[\n\t\t\t\t\t\t{ text: \"الراتب\", bold: true },\n\t\t\t\t\t\t{ text: \"القسم\", bold: true },\n\t\t\t\t\t\t{ text: \"الاسم\", bold: true },\n\t\t\t\t\t],\n\t\t\t\t\t[\"5000\", \"تكنولوجيا\", \"أحمد محمد\"],\n\t\t\t\t\t[\"6000\", \"تسويق\", \"فاطمة علي\"],\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t],\n};\n\nvar pdf = pdfmake.createPdf(dd);\npdf.write(\"output.pdf\").then(() => console.log(\"PDF created!\"));\n```\n\n## Building from sources\n\nusing npm:\n\n```bash\ngit clone https://github.com/aysnet1/pdfmake-rtl.git\ncd pdfmake-rtl\nnpm install\nnpm run build\n```\n\nusing yarn:\n\n```bash\ngit clone https://github.com/aysnet1/pdfmake-rtl.git\ncd pdfmake-rtl\nyarn\nyarn run build\n```\n\n## License\n\nMIT\n\n## Credits\n\n### pdfmake-rtl\n\n- [@aysnet1](https://github.com/aysnet1) — Creator & Maintainer\n\n### pdfmake (Original Library)\n\n- [@bpampuch](https://github.com/bpampuch) — Founder\n- [@liborm85](https://github.com/liborm85) — Maintainer\n\npdfmake is based on a truly amazing library [pdfkit](https://github.com/devongovett/pdfkit) (credits to [@devongovett](https://github.com/devongovett)).\n\nThanks to all contributors.\n","readmeFilename":"README.md"}