0.5.1 • Published 3 months ago

compress-pdf v0.5.1

Weekly downloads
-
License
MIT
Repository
github
Last release
3 months ago

compress-pdf

This library provides compress your PDFs using ghostscript

🚨 Breaking Change 🚨

From now on it is no longer possible to use the --fetchBinaries flag, the binaries must be obtained through the Install binaries step by step of this readme

Installation

npm install compress-pdf
yarn add compress-pdf

Install binaries

Ubuntu

sudo apt-get install ghostscript -y

MacOS

brew install ghostscript

Windows (Chocolatey)

choco install ghostscript

or download Ghostscript .exe installer

Code Usage

import path from 'path';
import fs from 'fs';
import { compress } from 'compress-pdf';

(async () => {
  const pdf = path.resolve(__dirname, 'A17_FlightPlan.pdf');
  const buffer = await compress(pdf);

  const compressedPdf = path.resolve(__dirname, 'compressed_pdf.pdf');
  await fs.promises.writeFile(compressedPdf, buffer);
})();

CLI Usage

npx compress-pdf --file [PDF_FILE] --output ./compressed.pdf

Options:
  --file [PDF_FILE] (REQUIRED)
  --output [COMPRESSED_PDF_FILE] (REQUIRED)
  --resolution [ebook/printer/screen/prepress]
  --compatibilityLevel [NUMBER] The compatibility pdf level
  --gsModule [FILE PATH] The directory of ghostscript binaries. Ex: /usr/bin/gs
  --pdfPassword The pdf password
  --removePasswordAfterCompression [BOOLEAN] Remove pdf password after compression

Usage with Docker

FROM node:18 AS build
WORKDIR /src
COPY package*.json ./
RUN npm pkg set scripts.scriptname="true" && npm i
COPY . .
RUN npm run build

FROM node:18
WORKDIR /app
RUN apt-get update \
    && apt-get install -y ghostscript
COPY package*.json ./
RUN npm pkg set scripts.scriptname="true" && npm i
COPY --from=build /src/build /app/build/
EXPOSE 8080
CMD [ "npm", "start" ]

OBS: This is just an example of how to use this lib in a docker image, note that you need to run apt-get to install ghostscript before doing anything

You can see examples in examples folder

License

This project is under MIT license, see LICENSE.md for details.

0.5.0

3 months ago

0.5.1

3 months ago

0.4.0-12282023

4 months ago

0.4.0-beta.16

4 months ago

0.4.0-beta.15

4 months ago

0.4.0

4 months ago

0.3.2-beta.12

11 months ago

0.3.2-beta.10

11 months ago

0.3.6-beta.14

11 months ago

0.3.6-beta.13

11 months ago

0.3.6-beta.1

11 months ago

0.3.3-beta.1

11 months ago

0.3.2-beta.1

11 months ago

0.3.2-beta.0

11 months ago

0.3.6-beta.5

11 months ago

0.3.6-beta.4

11 months ago

0.3.6-beta.3

11 months ago

0.3.6-beta.2

11 months ago

0.3.6

11 months ago

0.3.6-beta.9

11 months ago

0.3.2-beta.9

11 months ago

0.3.6-beta.8

11 months ago

0.3.5

11 months ago

0.3.2-beta.8

11 months ago

0.3.6-beta.7

11 months ago

0.3.2-beta.7

11 months ago

0.3.7

11 months ago

0.3.6-beta.6

11 months ago

0.3.2-beta.6

11 months ago

0.3.6-beta.10

11 months ago

0.3.2

11 months ago

0.3.2-beta.5

11 months ago

0.3.2-beta.4

11 months ago

0.3.2-beta

11 months ago

0.3.6-beta.12

11 months ago

0.3.4

11 months ago

0.3.2-beta.3

11 months ago

0.3.6-beta.11

11 months ago

0.3.3

11 months ago

0.3.2-beta.2

11 months ago

0.3.1

1 year ago

0.3.0

1 year ago

0.2.2

1 year ago

0.2.1

1 year ago

0.2.0

1 year ago

0.1.0

1 year ago