> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pdf.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Barcode Reader

> Decode barcodes from images or PDF documents quickly and accurately.

<img src="https://mintcdn.com/pdfco/tXGo3rbTS_pEF5es/images/integrations/n8n/barcode-reader.png?fit=max&auto=format&n=tXGo3rbTS_pEF5es&q=85&s=f8304b2d95e4e75d43c3fc8efce8587b" alt="Barcode Reader Pn" width="886" height="1284" data-path="images/integrations/n8n/barcode-reader.png" />

## Input

| Name                                     | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | Required |
| :--------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------- |
| **PDF URL**                              | Provide the URL to the source PDF document, or a `filetoken://` link from [PDF.co Built-In Files Storage](https://app.pdf.co/tools/files). If you use another cloud service such as **Google Drive** or **Dropbox** ensure the link is publicly accessible.                                                                                                                                                                                                                                     | Yes      |
| **Barcode Type**                         | Choose the type of barcode to read. By default, the system will look for QR Codes.                                                                                                                                                                                                                                                                                                                                                                                                              | Yes      |
| **Pages**                                | Specify page indices as comma-separated values or ranges to process (e.g. “`0, 1, 2-`” or “`1, 2, 3-7`”). The first-page index is `0`. Use ”`!`” before a number for inverted page numbers (e.g. “`!0`” for the last page). If not specified, the default configuration processes all pages. The input must be in string format.                                                                                                                                                                | No       |
| **File Name**                            | File name for the generated output, the input must be in string format.                                                                                                                                                                                                                                                                                                                                                                                                                         | No       |
| **Optical Marks Reader**                 | Comma-separated list of additional marks to detect. The barcode reader engine can also find marks like **Checkbox**, **UnderlinedField**, etc. on scanned documents.                                                                                                                                                                                                                                                                                                                            | No       |
| **Webhook URL**                          | The callback URL or Webhook used to receive the output data.                                                                                                                                                                                                                                                                                                                                                                                                                                    | No       |
| **Output Links Expiration (In Minutes)** | Set the expiration time for the output link in minutes. After this specified duration, any generated output file(s) will be automatically deleted from [**PDF.co Temporary Files Storage**](/api-reference/file-upload/overview). The maximum duration for link expiration varies based on your current subscription plan. To store permanent input files (e.g. re-usable images, pdf templates, documents) consider using [**PDF.co Built-In Files Storage**](https://app.pdf.co/tools/files). | No       |
| **HTTP Username**                        | HTTP auth user name if required to access source URL.                                                                                                                                                                                                                                                                                                                                                                                                                                           | No       |
| **HTTP Password**                        | HTTP auth password if required to access source URL.                                                                                                                                                                                                                                                                                                                                                                                                                                            | No       |
| **Custom Profiles**                      | Use JSON to customize PDF processing with options like output resolution, OCR settings, text extraction methods, encryption, and image handling. Check our [Custom Profile](#custom-profiles) section to see all available parameters for your current endpoint.                                                                                                                                                                                                                                | No       |

## Custom Profiles

You can set additional options for the operation used in the PDF.co node by using **Custom Profiles**. A custom profile is a string in **JSON-like format** containing predefined parameters.

Here’s an example of a Custom Profiles input:

```
{
    'DataEncryptionAlgorithm': 'AES128',
    'DataEncryptionKey': 'HelloThisKey1234',
    'DataEncryptionIV': 'TreloThisKey1234'
}
```

With this input, the PDF.co operation will encrypt the output with strong `AES128` encryption. You can find the list of available parameters for customizing profiles in the PDF.co operation documentation below:

<Tip>
  You can use any regular API parameter from the [API Reference](/api-reference) within n8n using the `std_params` feature in profiles. The `std_params` enables the definition of regular API parameters in a JSON format, See [Standard Parameters](/api-reference/profiles#standard-parameters) for detailed documentation and examples.
</Tip>

| Parameter                 | Type   | Default | Description                                                                                                                                                                                                                   |
| :------------------------ | :----- | :------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `DataEncryptionAlgorithm` | string | -       | Controls the encryption algorithm used for data encryption. See [**User-Controlled Encryption**](/knowledgebase/user-controlled-encryption) for more information. The available algorithms are: `AES128`, `AES192`, `AES256`. |
| `DataEncryptionKey`       | string | -       | Controls the encryption key used for data encryption. See [**User-Controlled Encryption**](/knowledgebase/user-controlled-encryption) for more information.                                                                   |
| `DataEncryptionIV`        | string | -       | Controls the encryption IV used for data encryption. See [**User-Controlled Encryption**](/knowledgebase/user-controlled-encryption) for more information.                                                                    |
| `DataDecryptionAlgorithm` | string | -       | Controls the decryption algorithm used for data decryption. See [**User-Controlled Encryption**](/knowledgebase/user-controlled-encryption) for more information. The available algorithms are: `AES128`, `AES192`, `AES256`. |
| `DataDecryptionKey`       | string | -       | Controls the decryption key used for data decryption. See [**User-Controlled Encryption**](/knowledgebase/user-controlled-encryption) for more information.                                                                   |
| `DataDecryptionIV`        | string | -       | Controls the decryption IV used for data decryption. See [**User-Controlled Encryption**](/knowledgebase/user-controlled-encryption) for more information.                                                                    |

## Output

| Name                  | Description                                                                                                                                         |
| :-------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------- |
| `jobId`               | Unique identifier for the background job.                                                                                                           |
| `pageCount`           | Number of pages in the PDF document.                                                                                                                |
| `error`               | Indicates whether an error occurred (`false` means success)                                                                                         |
| `status`              | Status code of the request (200, 404, 500, etc.). For more information, see [**Response Codes**](https://docs.pdf.co/api-reference/response-codes). |
| `credits`             | Number of credits consumed by the request                                                                                                           |
| `remainingCredits`    | Number of credits remaining in the account                                                                                                          |
| `duration`            | Time taken for the operation in milliseconds                                                                                                        |
| `url`                 | Direct URL to the final PDF file stored in S3.                                                                                                      |
| `name`                | Name of the output file                                                                                                                             |
| `outputLinkValidTill` | Timestamp indicating when the output link will expire                                                                                               |
