PdfBroker.io API icon

PdfBroker.io API

PdfBroker

COMMUNITYBEARER0 INSTALLS
API Docs
OpenAPI Specificationv3.0
{
  "openapi": "3.0.1",
  "info": {
    "contact": {
      "email": "support@pdfbroker.io",
      "name": "PdfBroker.io Support",
      "url": "https://www.pdfbroker.io/docs"
    },
    "description": "PdfBroker.io is an api for creating pdf files from Xsl-Fo or Html and other useful pdf utilities.",
    "termsOfService": "https://www.pdfbroker.io/terms",
    "title": "PdfBroker.io API",
    "version": "v1",
    "x-apisguru-categories": [
      "text"
    ],
    "x-origin": [
      {
        "format": "openapi",
        "url": "https://api.pdfbroker.io/swagger/v1/swagger.json",
        "version": "3.0"
      }
    ],
    "x-providerName": "pdfbroker.io",
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_apis.guru_assets_images_no-logo.svg"
    }
  },
  "security": [
    {
      "OAuth2": [
        "pdfbroker"
      ]
    }
  ],
  "paths": {
    "/api/pdf": {
      "get": {
        "responses": {
          "400": {
            "content": {
              "application/json": {
                "example": "{\r\n  \"description\": \"Always empty in the public response, used for internal error transport to logs\",\r\n  \"statusCode\": 400,\r\n  \"errorMessage\": \"The error message provided to client\"\r\n}",
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            },
            "description": "If any error occurs parsing input"
          },
          "415": {
            "description": "If content-type of request is not set to multipart/form-data or application/json"
          },
          "429": {
            "description": "If you reach the monthly request limit for your subscription plan"
          }
        },
        "summary": "Basic method to verify api is up and running",
        "tags": [
          "Pdf"
        ]
      }
    },
    "/api/pdf/pdfconcat": {
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "example": "{\r\n  \"pdfDocumentsAsBase64String\": [\r\n    \"<Encode your pdf documents as Base64 encoded string>\",\r\n    \"<Encode your pdf documents as Base64 encoded string>\"\r\n  ]\r\n}",
              "schema": {
                "$ref": "#/components/schemas/PdfConcatenationRequestDto"
              }
            },
            "multipart/form-data": {
              "encoding": {
                "pdfdocument1": {
                  "contentType": "application/octet-stream"
                },
                "pdfdocument2": {
                  "contentType": "application/octet-stream"
                }
              },
              "schema": {
                "properties": {
                  "pdfdocument1": {
                    "description": "Add pdf files to be concatenated into single file",
                    "format": "binary",
                    "type": "string"
                  },
                  "pdfdocument2": {
                    "description": "You can add more than two files in the same request",
                    "format": "binary",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "description": "PdfConcat Request. Add two or more pdf files and concatenate pages into single pdf document."
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "{\r\n  \"pdfFileBase64String\": \"Base64 encoded pdf file content\",\r\n  \"errorMessage\": \"If any error occured, info will be provided here\"\r\n}",
                "schema": {
                  "$ref": "#/components/schemas/PdfResponseDto"
                }
              },
              "application/pdf": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "Returns the newly created pdf file. Either the file directly or serialized as Json if Accept-header is set to application/json"
          },
          "400": {
            "content": {
              "application/json": {
                "example": "{\r\n  \"description\": \"Always empty in the public response, used for internal error transport to logs\",\r\n  \"statusCode\": 400,\r\n  \"errorMessage\": \"The error message provided to client\"\r\n}",
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            },
            "description": "If any error occurs parsing input"
          },
          "415": {
            "description": "If content-type of request is not set to multipart/form-data or application/json"
          },
          "429": {
            "description": "If you reach the monthly request limit for your subscription plan"
          }
        },
        "summary": "Concatenate multiple pdf files into single pdf file..",
        "tags": [
          "Pdf"
        ]
      }
    },
    "/api/pdf/pdftoimage": {
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "example": "{\r\n  \"pdfFileBase64String\": \"<Encode your existing PDF document as Base64 encoded string>\",\r\n  \"options\": {\r\n    \"pageNumber\": 1,\r\n    \"imageFormat\": \"image/jpeg\",\r\n    \"horizontalResolution\": 96.0,\r\n    \"verticalResolution\": 96.0,\r\n    \"width\": 0,\r\n    \"height\": 0,\r\n    \"transparent\": false,\r\n    \"jpegQuality\": 90,\r\n    \"pngCompressionLevel\": 6\r\n  }\r\n}",
              "schema": {
                "$ref": "#/components/schemas/PdfToImageRequestDto"
              }
            },
            "multipart/form-data": {
              "encoding": {
                "options": {
                  "contentType": "application/json"
                },
                "pdfdocument": {
                  "contentType": "application/octet-stream"
                }
              },
              "schema": {
                "properties": {
                  "options": {
                    "description": "After pdfdocument is added, add an entry named options with your PdfToImageOptions object serialized as JSON.",
                    "format": "string",
                    "type": "string"
                  },
                  "pdfdocument": {
                    "description": "An entry named pdfdocument is required in the multipart/form-data request",
                    "format": "binary",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "description": "PdfToImage Request. Create an image of a page in an existing pdf document."
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "{\r\n  \"imageBase64String\": \"Image file base64 encoded. This is a complete data uri, including media type that can be used directly as src on a img-tag e.g.\",\r\n  \"errorMessage\": \"If any error occurred, information will be provided here\"\r\n}",
                "schema": {
                  "$ref": "#/components/schemas/ImageResponseDto"
                }
              },
              "image/gif": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              },
              "image/jpeg": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              },
              "image/png": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "Generate an image of the provided pdf file. Either the image file directly or serialized as Json if Accept-header is set to application/json"
          },
          "400": {
            "content": {
              "application/json": {
                "example": "{\r\n  \"description\": \"Always empty in the public response, used for internal error transport to logs\",\r\n  \"statusCode\": 400,\r\n  \"errorMessage\": \"The error message provided to client\"\r\n}",
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            },
            "description": "If any error occurs parsing input"
          },
          "415": {
            "description": "If content-type of request is not set to multipart/form-data or application/json"
          },
          "429": {
            "description": "If you reach the monthly request limit for your subscription plan"
          }
        },
        "summary": "Generate an image of to provided pdf file",
        "tags": [
          "Pdf"
        ]
      }
    },
    "/api/pdf/pdfwritestring": {
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "example": "{\r\n  \"pdfFileBase64String\": \"<Encode your existing PDF document as Base64 encoded string>\",\r\n  \"options\": {\r\n    \"text\": \"This is test string\",\r\n    \"textColor\": {\r\n      \"r\": 33,\r\n      \"g\": 34,\r\n      \"b\": 35\r\n    },\r\n    \"font\": {\r\n      \"name\": \"Arial\",\r\n      \"size\": 24.0,\r\n      \"style\": 1\r\n    },\r\n    \"pageNumber\": 3,\r\n    \"xPosition\": 40.0,\r\n    \"yPosition\": -200.0,\r\n    \"xOrigin\": 1,\r\n    \"yOrigin\": 2\r\n  },\r\n  \"fontFileBase64String\": \"<Attach your own TrueTypeFont file if necessary to style text, encoded as Base64 encoded string>\"\r\n}",
              "schema": {
                "$ref": "#/components/schemas/PdfWriteStringRequestDto"
              }
            },
            "multipart/form-data": {
              "encoding": {
                "fontfile": {
                  "contentType": "application/octet-stream"
                },
                "options": {
                  "contentType": "application/json"
                },
                "pdfdocument": {
                  "contentType": "application/octet-stream"
                }
              },
              "schema": {
                "properties": {
                  "fontfile": {
                    "description": "Optional entry to attach your own TrueType font file to style string",
                    "format": "binary",
                    "type": "string"
                  },
                  "options": {
                    "description": "After pdfdocument is added, add an entry named options with your PdfWriteStringOptions object serialized as JSON.",
                    "format": "string",
                    "type": "string"
                  },
                  "pdfdocument": {
                    "description": "An entry named pdfdocument is required in the multipart/form-data request",
                    "format": "binary",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "description": "PdfWriteString Request. Write string on page in pdf document"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "{\r\n  \"pdfFileBase64String\": \"Base64 encoded pdf file content\",\r\n  \"errorMessage\": \"If any error occured, info will be provided here\"\r\n}",
                "schema": {
                  "$ref": "#/components/schemas/PdfResponseDto"
                }
              },
              "application/pdf": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "Returns the newly created pdf file. Either the file directly or serialized as Json if Accept-header is set to application/json"
          },
          "400": {
            "content": {
              "application/json": {
                "example": "{\r\n  \"description\": \"Always empty in the public response, used for internal error transport to logs\",\r\n  \"statusCode\": 400,\r\n  \"errorMessage\": \"The error message provided to client\"\r\n}",
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            },
            "description": "If any error occurs parsing input"
          },
          "415": {
            "description": "If content-type of request is not set to multipart/form-data or application/json"
          },
          "429": {
            "description": "If you reach the monthly request limit for your subscription plan"
          }
        },
        "summary": "Write text on a page in a pdf document.",
        "tags": [
          "Pdf"
        ]
      }
    },
    "/api/pdf/wkhtmltopdf": {
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "example": "{\r\n  \"url\": \"https://www.pdfbroker.io\",\r\n  \"htmlBase64String\": null,\r\n  \"wkHtmlToPdfArguments\": {\r\n    \"grayscale\": \"\",\r\n    \"viewport-size\": \"1280x1024\"\r\n  },\r\n  \"resources\": null\r\n}",
              "schema": {
                "$ref": "#/components/schemas/WkHtmlToPdfRequestDto"
              }
            }
          },
          "description": "WkHtmlToPdf Request. Generate pdf from html, either from url or base64 encoded html string"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "{\r\n  \"pdfFileBase64String\": \"Base64 encoded pdf file content\",\r\n  \"errorMessage\": \"If any error occured, info will be provided here\"\r\n}",
                "schema": {
                  "$ref": "#/components/schemas/PdfResponseDto"
                }
              },
              "application/pdf": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "Returns the newly created pdf file. Either the file directly or serialized as Json if Accept-header is set to application/json"
          },
          "400": {
            "content": {
              "application/json": {
                "example": "{\r\n  \"description\": \"Always empty in the public response, used for internal error transport to logs\",\r\n  \"statusCode\": 400,\r\n  \"errorMessage\": \"The error message provided to client\"\r\n}",
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            },
            "description": "If any error occurs executing request"
          },
          "415": {
            "description": "If content-type of request is not set to application/json"
          },
          "429": {
            "description": "If you reach the monthly request limit for your subscription plan"
          }
        },
        "summary": "Generate pdf file from url using the excellent tool wkhtmltopdf.",
        "tags": [
          "Pdf"
        ]
      }
    },
    "/api/pdf/xslfo": {
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "example": "{\r\n  \"foDocumentBase64String\": \"<Encode your XSL-FO document as Base64 encoded string>\",\r\n  \"resources\": {\r\n    \"<Use file name as key, i.e 'logo.png', which is set as src on fo:external-graphic elements>\": \"<Convert your images to Base64 encoded string>\"\r\n  },\r\n  \"metadata\": {\r\n    \"title\": \"Pdf title metadata can be set with metadata object\",\r\n    \"author\": null,\r\n    \"subject\": null,\r\n    \"keywords\": [\r\n      \"pdf\",\r\n      \"api\"\r\n    ],\r\n    \"enableAdd\": true,\r\n    \"enableCopy\": true,\r\n    \"enableModify\": true,\r\n    \"enablePrinting\": true,\r\n    \"ownerPassword\": null,\r\n    \"userPassword\": null\r\n  }\r\n}",
              "schema": {
                "$ref": "#/components/schemas/FoRequestDto"
              }
            },
            "multipart/form-data": {
              "encoding": {
                "fodocument": {
                  "contentType": "application/octet-stream"
                },
                "metadata": {
                  "contentType": "application/json"
                },
                "resources": {
                  "contentType": "application/octet-stream"
                }
              },
              "schema": {
                "properties": {
                  "fodocument": {
                    "description": "An entry named fodocument is required in the multipart/form-data request",
                    "format": "binary",
                    "type": "string"
                  },
                  "metadata": {
                    "description": "Add pdf document metadata like title, author, subject and keywords",
                    "format": "string",
                    "nullable": true,
                    "type": "string"
                  },
                  "resources": {
                    "description": "After fodocument is added, add all digital resources one by one to your multipart/form-data request, using the filename as name in the form.",
                    "format": "binary",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "description": "XSL-FO Request, the basic XSL-FO request. Post your XSL-FO document and digital resources, either as 'multipart/form-data' or 'application/json'"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "{\r\n  \"pdfFileBase64String\": \"Base64 encoded pdf file content\",\r\n  \"errorMessage\": \"If any error occured, info will be provided here\"\r\n}",
                "schema": {
                  "$ref": "#/components/schemas/PdfResponseDto"
                }
              },
              "application/pdf": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "Returns the newly created pdf file. Either the file directly or serialized as Json if Accept-header is set to application/json"
          },
          "400": {
            "content": {
              "application/json": {
                "example": "{\r\n  \"description\": \"Always empty in the public response, used for internal error transport to logs\",\r\n  \"statusCode\": 400,\r\n  \"errorMessage\": \"The error message provided to client\"\r\n}",
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            },
            "description": "If any error occurs parsing input"
          },
          "415": {
            "description": "If content-type of request is not set to multipart/form-data or application/json"
          },
          "429": {
            "description": "If you reach the monthly request limit for your subscription plan"
          }
        },
        "summary": "Create pdf-file from complete XSL-FO document.",
        "tags": [
          "Pdf"
        ]
      }
    },
    "/api/pdf/xslfowithtransform": {
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "example": "{\r\n  \"xmlDataDocumentBase64String\": \"<This is the document which contains your data that the XSL-FO transform will be applied on. Send as Base64 encoded string>\",\r\n  \"foDocumentBase64String\": \"<Encode your XSL-FO transform document as Base64 encoded string>\",\r\n  \"resources\": {\r\n    \"<Use file name as key, i.e 'logo.png', which is set as src on fo:external-graphic elements>\": \"<Convert your images to Base64 encoded string>\"\r\n  },\r\n  \"metadata\": null\r\n}",
              "schema": {
                "$ref": "#/components/schemas/FoTransformRequestDto"
              }
            },
            "multipart/form-data": {
              "encoding": {
                "fodocument": {
                  "contentType": "application/octet-stream"
                },
                "resources": {
                  "contentType": "application/octet-stream"
                },
                "xmldatadocument": {
                  "contentType": "application/octet-stream"
                }
              },
              "schema": {
                "properties": {
                  "fodocument": {
                    "description": "An entry named fodocument with your XSL-FO transform is required in the multipart/form-data request",
                    "format": "binary",
                    "type": "string"
                  },
                  "resources": {
                    "description": "After fodocument and xmldatadocument is added, add all digital resources one by one to your multipart/form-data request, using the filename as name in the form.",
                    "format": "binary",
                    "type": "string"
                  },
                  "xmldatadocument": {
                    "description": "An entry named xmldatadocument, on which the XSL-FO transform is applied, is required in the multipart/form-data request",
                    "format": "binary",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "description": "XSL-FO Transform Request. The XSL-FO is transformed on the supplied xml data document. Post your XSL-FO transform document and xml data document aloing with your digital resources, either as 'multipart/form-data' or 'application/json'"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "{\r\n  \"pdfFileBase64String\": \"Base64 encoded pdf file content\",\r\n  \"errorMessage\": \"If any error occured, info will be provided here\"\r\n}",
                "schema": {
                  "$ref": "#/components/schemas/PdfResponseDto"
                }
              },
              "application/pdf": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "Returns the newly created pdf file. Either the file directly or serialized as Json if Accept-header is set to application/json"
          },
          "400": {
            "content": {
              "application/json": {
                "example": "{\r\n  \"description\": \"Always empty in the public response, used for internal error transport to logs\",\r\n  \"statusCode\": 400,\r\n  \"errorMessage\": \"The error message provided to client\"\r\n}",
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            },
            "description": "If any error occurs parsing input"
          },
          "415": {
            "description": "If content-type of request is not set to multipart/form-data or application/json"
          },
          "429": {
            "description": "If you reach the monthly request limit for your subscription plan"
          }
        },
        "summary": "Create pdf-file from transforming xml document with Xsl-Fo transform document.",
        "tags": [
          "Pdf"
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "ColorDto": {
        "additionalProperties": false,
        "description": "Set color",
        "properties": {
          "B": {
            "description": "Get or sets B value of RGB color",
            "format": "int32",
            "maximum": 255,
            "minimum": 0,
            "readOnly": true,
            "type": "integer"
          },
          "G": {
            "description": "Get or sets G value of RGB color",
            "format": "int32",
            "maximum": 255,
            "minimum": 0,
            "readOnly": true,
            "type": "integer"
          },
          "R": {
            "description": "Get or sets R value of RGB color",
            "format": "int32",
            "maximum": 255,
            "minimum": 0,
            "readOnly": true,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "ErrorResponseDto": {
        "additionalProperties": false,
        "properties": {
          "Description": {
            "nullable": true,
            "type": "string"
          },
          "ErrorMessage": {
            "description": "If any error occurs the message will be displayed in here",
            "nullable": true,
            "type": "string"
          },
          "StatusCode": {
            "format": "int32",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "FoRequestDto": {
        "additionalProperties": false,
        "description": "The basic request with the XSL-FO document as a Base64 encoded string with a set of resources provided with a name and the data of the resource as a Base64 encoded string.",
        "properties": {
          "FoDocumentBase64String": {
            "description": "This is the complete XSL-FO document provided using Base64 encoding.",
            "nullable": true,
            "type": "string"
          },
          "Metadata": {
            "$ref": "#/components/schemas/PdfMetadataDto"
          },
          "Resources": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "This is a set of key-value pairs of digital resources like images that is referenced in the XSL-FO document. It uses the filename as key and the data is provided as a Base64 encoded string.",
            "nullable": true,
            "type": "object"
          }
        },
        "type": "object"
      },
      "FoTransformRequestDto": {
        "additionalProperties": false,
        "description": "The XSL-FO transform document and xml data document as a Base64 encoded string with a set of resources provided with a name and the data of the resource as a Base64 encoded string.",
        "properties": {
          "FoDocumentBase64String": {
            "description": "This is the complete XSL-FO document provided using Base64 encoding.",
            "nullable": true,
            "type": "string"
          },
          "Metadata": {
            "$ref": "#/components/schemas/PdfMetadataDto"
          },
          "Resources": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "This is a set of key-value pairs of digital resources like images that is referenced in the XSL-FO document. It uses the filename as key and the data is provided as a Base64 encoded string.",
            "nullable": true,
            "type": "object"
          },
          "XmlDataDocumentBase64String": {
            "description": "This is xml data document on which the XSL-FO transform document is applied. Provided using Base64 encoding.",
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "FontDto": {
        "additionalProperties": false,
        "description": "The Font dto object",
        "properties": {
          "Name": {
            "description": "Gets the name of the font",
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "Size": {
            "description": "Gets the size of the font",
            "format": "float",
            "readOnly": true,
            "type": "number"
          },
          "Style": {
            "$ref": "#/components/schemas/FontStyle"
          }
        },
        "type": "object"
      },
      "FontStyle": {
        "description": "Font style enum representing Regular, Bold, Italic, BoldItalic",
        "enum": [
          0,
          1,
          2,
          3
        ],
        "format": "int32",
        "type": "integer"
      },
      "ImageResponseDto": {
        "additionalProperties": false,
        "description": "When setting the Accept-header in the request to \"application/json\" the image file will be return as Base64 encoded string. Note that converting data to Base64 encoded strings increases the response size with approximately 33%, if you can accept the a binary format it's better to use Accept-header \"image/jpeg\", \"image/png\" or \"image/gif\".",
        "properties": {
          "ErrorMessage": {
            "description": "If any error occurs the message will be displayed in here",
            "nullable": true,
            "type": "string"
          },
          "ImageBase64String": {
            "description": "The Base64 encoded string that is the image file. This is a complete data uri, including media type that can be used directly as src on a img-tag e.g.",
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "PdfConcatenationRequestDto": {
        "additionalProperties": false,
        "description": "Request to concatenate a list of Pdf documents to a single Pdf document.",
        "properties": {
          "PdfDocumentsAsBase64String": {
            "description": "The list of Pdf documents encoded as Base64 strings.",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          }
        },
        "type": "object"
      },
      "PdfMetadataDto": {
        "additionalProperties": false,
        "description": "Enter meta data for pdf document",
        "properties": {
          "Author": {
            "description": "Pdf document author",
            "nullable": true,
            "type": "string"
          },
          "EnableAdd": {
            "description": "Enables or disables adding or modifying text annotations and interactive\r\nform fields.",
            "type": "boolean"
          },
          "EnableCopy": {
            "description": "Enables or disables copying of text and graphics.",
            "type": "boolean"
          },
          "EnableModify": {
            "description": "Enables or disables modifying document contents (other than text annotations and \r\ninteractive form fields).",
            "type": "boolean"
          },
          "EnablePrinting": {
            "description": "Enables or disables printing.",
            "type": "boolean"
          },
          "Keywords": {
            "description": "Pdf document keywords",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "OwnerPassword": {
            "description": "Specifies the owner password that will protect full access to any generated PDF documents.",
            "nullable": true,
            "type": "string"
          },
          "Subject": {
            "description": "Pdf document subject",
            "nullable": true,
            "type": "string"
          },
          "Title": {
            "description": "Pdf document title",
            "nullable": true,
            "type": "string"
          },
          "UserPassword": {
            "description": "Specifies the user password that will protect access to any generated PDF documents.",
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "PdfResponseDto": {
        "additionalProperties": false,
        "description": "When setting the Accept-header in the request to \"application/json\" the content of the pdf file will be return as Base64 encoded string. Note that converting data to Base64 encoded strings increases the response size with approximately 33%, if you can accept the a binary format it's better to use Accept-header \"application/pdf\".",
        "properties": {
          "ErrorMessage": {
            "description": "If any error occurs the message will be displayed in here",
            "nullable": true,
            "type": "string"
          },
          "PdfFileBase64String": {
            "description": "The Base64 encoded string that is the pdf file.",
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "PdfToImageOptions": {
        "additionalProperties": false,
        "properties": {
          "Height": {
            "description": "Set the height of the output image, default value is width of source document. To scale height, and keeping proportions, do not set width;",
            "format": "int32",
            "type": "integer"
          },
          "HorizontalResolution": {
            "description": "Set the horizontal resolution, default is 96 dpi;",
            "format": "double",
            "type": "number"
          },
          "ImageFormat": {
            "description": "Valid options are \"image/jpeg\", \"image/png\" or \"image/gif\". Default is \"image/png\"",
            "nullable": true,
            "type": "string"
          },
          "JpegQuality": {
            "description": "Sets the quality of jpeg images, range 0 to 100, default is 75",
            "format": "int32",
            "type": "integer"
          },
          "PageNumber": {
            "description": "Which page of the pdf file to generate image from, default is first page",
            "format": "int32",
            "type": "integer"
          },
          "PngCompressionLevel": {
            "description": "Sets the png compression level, range 1 - 9, default is 6",
            "format": "int32",
            "type": "integer"
          },
          "Transparent": {
            "description": "Keep the background of the image transparent. This setting is not available in JPEG-files, since transparency is not supported in the JPEG format.",
            "type": "boolean"
          },
          "VerticalResolution": {
            "description": "Set the vertical resolution, default is 96 dpi;",
            "format": "double",
            "type": "number"
          },
          "Width": {
            "description": "Set the width of the output image, default value is width of source document. To scale width, and keeping proportions, do not set height;",
            "format": "int32",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "PdfToImageRequestDto": {
        "additionalProperties": false,
        "properties": {
          "Options": {
            "$ref": "#/components/schemas/PdfToImageOptions"
          },
          "PdfFileBase64String": {
            "description": "The pdf file to generate image from, as Base64 encoded string.",
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "PdfWriteStringOptions": {
        "additionalProperties": false,
        "description": "Options for writing string in pdf page;",
        "properties": {
          "Font": {
            "$ref": "#/components/schemas/FontDto"
          },
          "PageNumber": {
            "description": "Get or set which page in the pdf to write on, default is first page.",
            "format": "int32",
            "type": "integer"
          },
          "Text": {
            "description": "The text to write in the pdf",
            "nullable": true,
            "type": "string"
          },
          "TextColor": {
            "$ref": "#/components/schemas/ColorDto"
          },
          "XOrigin": {
            "$ref": "#/components/schemas/XOriginPoint"
          },
          "XPosition": {
            "description": "Get or set the X axis position on where to write string, in reference to XOrigin.",
            "format": "float",
            "type": "number"
          },
          "YOrigin": {
            "$ref": "#/components/schemas/YOriginPoint"
          },
          "YPosition": {
            "description": "Get or set the Y axis position on where to write string, in reference to YOrigin.",
            "format": "float",
            "type": "number"
          }
        },
        "type": "object"
      },
      "PdfWriteStringRequestDto": {
        "additionalProperties": false,
        "description": "The request dto object to write a string on pdf page",
        "properties": {
          "FontFileBase64String": {
            "description": "System fonts are available, but you can provide your own font file to be embedded in the pdf document. Send font as Base64 encoded string.",
            "nullable": true,
            "type": "string"
          },
          "Options": {
            "$ref": "#/components/schemas/PdfWriteStringOptions"
          },
          "PdfFileBase64String": {
            "description": "The pdf file to add text to, as Base64 encoded string.",
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "WkHtmlToPdfRequestDto": {
        "additionalProperties": false,
        "description": "WkHtmlToPdfRequestDto is the data transfer object for generating a pdf using wkhtmltopdf;",
        "properties": {
          "HtmlBase64String": {
            "description": "Base64 encoded string with html. If property Url is set, it will be used, not HtmlBase64String.",
            "nullable": true,
            "type": "string"
          },
          "Resources": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "This is a set of key-value pairs of digital resources like images that is referenced in the HtmlBase64String document. It uses the filename including relative path as key and the data is provided as a Base64 encoded string.",
            "nullable": true,
            "type": "object"
          },
          "Url": {
            "description": "The url to generate pdf from. Url has precedence over HtmlBase64String value if both are set.",
            "nullable": true,
            "type": "string"
          },
          "WkHtmlToPdfArguments": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Command line arguments passed to wkhtmltopdf.",
            "nullable": true,
            "type": "object"
          }
        },
        "type": "object"
      },
      "XOriginPoint": {
        "enum": [
          0,
          1,
          2
        ],
        "format": "int32",
        "type": "integer"
      },
      "YOriginPoint": {
        "enum": [
          0,
          1,
          2
        ],
        "format": "int32",
        "type": "integer"
      }
    },
    "securitySchemes": {
      "OAuth2": {
        "flows": {
          "clientCredentials": {
            "scopes": {
              "pdfbroker": "Scope to access the PdfBroker API."
            },
            "tokenUrl": "https://login.pdfbroker.io/connect/token"
          }
        },
        "type": "oauth2"
      }
    }
  }
}