Skip to content

Commit

Permalink
Add outputFileMaskFunc to README
Browse files Browse the repository at this point in the history
  • Loading branch information
dichovsky committed Oct 17, 2024
1 parent acac5b5 commit 44ab157
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 16 deletions.
30 changes: 17 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -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:

Expand All @@ -25,39 +25,43 @@ 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
}
```

## 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)

4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -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",
Expand Down

0 comments on commit 44ab157

Please sign in to comment.