From 44ab157c81b69d829b76dd69f9850d2bd490d886 Mon Sep 17 00:00:00 2001 From: Igor Magdich Date: Fri, 18 Oct 2024 01:40:36 +0300 Subject: [PATCH] Add outputFileMaskFunc to README --- README.md | 30 +++++++++++++++++------------- package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 20 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index fd6f3f3..b36d5b6 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,20 @@ # pdf-to-png-converter -Node.js utility to convert PDF file/buffer pages to PNG files/buffers without binary and OS dependencies (except MacOs on arm64). +Node.js utility to convert PDF file/buffer pages to PNG files/buffers without binary and OS dependencies (except macOS on arm64). [![Tests on push](https://github.com/dichovsky/pdf-to-png-converter/actions/workflows/test.yml/badge.svg?branch=main)](https://github.com/dichovsky/pdf-to-png-converter/actions/workflows/test.yml) -## Getting started +## Getting Started -### MacOs M1 prerequisites +### macOS M1 Prerequisites -MacOs M1 dependencies prerequisites installation +macOS M1 dependencies prerequisites installation: ```bash arch -arm64 brew install pkg-config cairo pango libpng librsvg ``` -### Package installation +### Package Installation Installation: @@ -25,32 +25,35 @@ npm install -D pdf-to-png-converter ## Example ```javascript +const { pdfToPng } = require('pdf-to-png-converter'); + test(`Convert PDF To PNG`, async () => { - const pngPages: PngPageOutput[] = await pdfToPng(pdfFilePath, // The function accepts PDF file path or a Buffer - { + const pngPages = await pdfToPng(pdfFilePath, { // The function accepts PDF file path or a Buffer disableFontFace: false, // When `false`, fonts will be rendered using a built-in font renderer that constructs the glyphs with primitive path commands. Default value is true. useSystemFonts: false, // When `true`, fonts that aren't embedded in the PDF document will fallback to a system font. Default value is false. enableXfa: false, // Render Xfa forms if any. Default value is false. viewportScale: 2.0, // The desired scale of PNG viewport. Default value is 1.0. outputFolder: 'output/folder', // Folder to write output PNG files. If not specified, PNG output will be available only as a Buffer content, without saving to a file. - outputFileMask: 'buffer', // Output filename mask. Default value is 'buffer'. + outputFileMaskFunc, // Output filename mask function. pdfFilePassword: 'pa$$word', // Password for encrypted PDF. - pagesToProcess: [1, 3, 11], // Subset of pages to convert (first page = 1), other pages will be skipped if specified. + pagesToProcess: [1, 3, 11], // Subset of pages to convert (first page = 1), other pages will be skipped if specified. strictPagesToProcess: false, // When `true`, will throw an error if specified page number in pagesToProcess is invalid, otherwise will skip invalid page. Default value is false. verbosityLevel: 0 // Verbosity level. ERRORS: 0, WARNINGS: 1, INFOS: 5. Default value is 0. }); - ... + // Further processing of pngPages }); ``` ## Output +The output of the `pdfToPng` function is an array of objects with the following structure: + ```javascript { pageNumber: number; // Page number in PDF file - name: string; // PNG page name in a format `{pdfFileName}_page_{pdfPageNumber}.png` + name: string; // PNG page name (use outputFileMaskFunc to change it) content: Buffer; // PNG page Buffer content - path: string; // Path to the rendered PNG page file (empty string and if outputFilesFolder is not provided) + path: string; // Path to the rendered PNG page file (empty string if outputFilesFolder is not provided) width: number; // PNG page width height: number; // PNG page height } @@ -58,6 +61,7 @@ test(`Convert PDF To PNG`, async () => { ## Buy Me A Coffee -In case you want support my work +In case you want to support my work: [!["Buy Me A Coffee"](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://buymeacoffee.com/dichovsky) + diff --git a/package-lock.json b/package-lock.json index 8378182..d87d086 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "pdf-to-png-converter", - "version": "3.5.0", + "version": "3.5.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "pdf-to-png-converter", - "version": "3.5.0", + "version": "3.5.1", "license": "MIT", "dependencies": { "pdfjs-dist": "^4.7.76" diff --git a/package.json b/package.json index f44b738..84df014 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pdf-to-png-converter", - "version": "3.5.0", + "version": "3.5.1", "description": "Node.js utility to convert PDF file/buffer pages to PNG files/buffers with no native dependencies.", "keywords": [ "pdf",