Create Linearized PDFs

You can linearize PDFs using PSPDFKit Document Engine.

PDF Linearization

A linearized PDF file is organized in a special way to enable efficient incremental access in a network environment. Enhanced viewer applications can recognize that a PDF file has been linearized and take advantage of that organization.

To linearize a PDF, use the following example:

curl -X POST http://localhost:5000/api/build \
  -H "Authorization: Token token=<API token>" \
  -F document=@/path/to/example-document.pdf \
  -F instructions='{
  "parts": [
    {
      "file": "document"
    }
  ],
  "output": {
    "type": "pdf",
    "optimize": {
      "linearize": true
    }
  }
}' \
  -o result.pdf
POST /api/build HTTP/1.1
Content-Type: multipart/form-data; boundary=customboundary
Authorization: Token token=<API token>

--customboundary
Content-Disposition: form-data; name="document"; filename="example-document.pdf"
Content-Type: application/pdf

<PDF data>
--customboundary
Content-Disposition: form-data; name="instructions"
Content-Type: application/json

{
  "parts": [
    {
      "file": "document"
    }
  ],
  "output": {
    "type": "pdf",
    "optimize": {
      "linearize": true
    }
  }
}
--customboundary--

Licensing

To linearize PDFs with PSPDFKit Document Engine, the Linearization feature needs to be included in your license. Contact Sales to add linearization to your license. After the new component is added to your license, update the license or activation keys in your configuration.

Other Types of PDF Compression

You can perform both linearization and compression in a single request to /api/build if both features are enabled in your license:

instructions = {
  ...
  output: {
    type: "pdf",
    optimize: {
      grayscaleText: true,
      grayscaleGraphics: true,
      grayscaleFormFields: true,
      grayscaleAnnotations: true,
      disableImages: true,
      mrcCompression: true,
      imageOptimizationQuality: 2,
      linearize: true,
    }
  }
}

To learn more about other types of compression supported by PSPDFKit Document Engine, refer to the PDF compression guide.