This commit is contained in:
287
scalar/apidocs/pdf.json
Normal file
287
scalar/apidocs/pdf.json
Normal file
@@ -0,0 +1,287 @@
|
||||
{
|
||||
"openapi": "3.0.0",
|
||||
"info": {
|
||||
"title": "REST4i - PDF Services",
|
||||
"description": "PDF processing services for creating, manipulating, and extracting data from PDF documents on IBM i systems.",
|
||||
"version": "1.0.7-rest4i",
|
||||
"contact": {
|
||||
"name": "API Support",
|
||||
"url": "https://github.com/rest4i"
|
||||
},
|
||||
"license": {
|
||||
"name": "Apache 2.0",
|
||||
"url": "https://www.apache.org/licenses/LICENSE-2.0.html"
|
||||
}
|
||||
},
|
||||
"servers": [
|
||||
{
|
||||
"url": "/rest4i/api"
|
||||
}
|
||||
],
|
||||
"tags": [
|
||||
{
|
||||
"name": "PDF Services",
|
||||
"description": "PDF processing services for creating, manipulating, and extracting data from PDF documents."
|
||||
}
|
||||
],
|
||||
"paths": {
|
||||
"/v1/pdf/convert": {
|
||||
"post": {
|
||||
"tags": ["PDF Services"],
|
||||
"summary": "Convert HTML to PDF",
|
||||
"description": "Convert HTML content to PDF document",
|
||||
"operationId": "convertToPdf",
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ConvertRequest"
|
||||
},
|
||||
"example": {
|
||||
"html": "<html><body><h1>Report</h1><p>Content here</p></body></html>",
|
||||
"size": "A4",
|
||||
"orientation": "portrait"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "PDF generated successfully",
|
||||
"content": {
|
||||
"application/pdf": {
|
||||
"schema": {
|
||||
"type": "string",
|
||||
"format": "binary"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/v1/pdf/merge": {
|
||||
"post": {
|
||||
"tags": ["PDF Services"],
|
||||
"summary": "Merge PDF files",
|
||||
"description": "Merges multiple PDF files into a single PDF document.",
|
||||
"operationId": "mergePdfs",
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/MergeRequest"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "PDFs merged successfully",
|
||||
"content": {
|
||||
"application/pdf": {
|
||||
"schema": {
|
||||
"type": "string",
|
||||
"format": "binary"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Bad request - at least one PDF file is required",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/Problem"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/v1/pdf/rotate": {
|
||||
"post": {
|
||||
"tags": ["PDF Services"],
|
||||
"summary": "Rotate PDF pages",
|
||||
"description": "Rotates all pages in a PDF document by the specified angle.",
|
||||
"operationId": "rotatePdf",
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/RotateRequest"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "PDF rotated successfully",
|
||||
"content": {
|
||||
"application/pdf": {
|
||||
"schema": {
|
||||
"type": "string",
|
||||
"format": "binary"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Bad request - PDF file is required",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/Problem"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/v1/pdf/unprotect": {
|
||||
"post": {
|
||||
"tags": ["PDF Services"],
|
||||
"summary": "Remove PDF protection",
|
||||
"description": "Removes protection from a PDF document by converting it to images and back to PDF.",
|
||||
"operationId": "unprotectPdf",
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/UnprotectRequest"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "PDF unprotected successfully",
|
||||
"content": {
|
||||
"application/pdf": {
|
||||
"schema": {
|
||||
"type": "string",
|
||||
"format": "binary"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Bad request - PDF file is required",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/Problem"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"components": {
|
||||
"schemas": {
|
||||
"ConvertRequest": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"html": {
|
||||
"type": "string",
|
||||
"description": "HTML content to convert to PDF"
|
||||
},
|
||||
"size": {
|
||||
"type": "string",
|
||||
"description": "Page size for the PDF",
|
||||
"default": "A4",
|
||||
"enum": ["A1", "A2", "A3", "A4", "A5", "A6", "A7"]
|
||||
},
|
||||
"orientation": {
|
||||
"type": "string",
|
||||
"description": "Page orientation",
|
||||
"default": "portrait",
|
||||
"enum": ["portrait", "landscape"]
|
||||
}
|
||||
},
|
||||
"required": ["html"]
|
||||
},
|
||||
"MergeRequest": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"pdfFiles": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"format": "byte"
|
||||
},
|
||||
"description": "Array of Base64 encoded PDF files to merge"
|
||||
}
|
||||
},
|
||||
"required": ["pdfFiles"]
|
||||
},
|
||||
"RotateRequest": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"pdfFile": {
|
||||
"type": "string",
|
||||
"format": "byte",
|
||||
"description": "Base64 encoded PDF file to rotate"
|
||||
},
|
||||
"rotation": {
|
||||
"type": "integer",
|
||||
"description": "Rotation angle (90, 180, 270, 360/0)",
|
||||
"default": 90,
|
||||
"enum": [90, 180, 270, 360, 0]
|
||||
}
|
||||
},
|
||||
"required": ["pdfFile"]
|
||||
},
|
||||
"UnprotectRequest": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"pdfFile": {
|
||||
"type": "string",
|
||||
"format": "byte",
|
||||
"description": "Base64 encoded protected PDF file"
|
||||
}
|
||||
},
|
||||
"required": ["pdfFile"]
|
||||
},
|
||||
"Problem": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"error": {
|
||||
"type": "string"
|
||||
},
|
||||
"message": {
|
||||
"type": "string"
|
||||
},
|
||||
"code": {
|
||||
"type": "integer",
|
||||
"format": "int32"
|
||||
},
|
||||
"details": {
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"securitySchemes": {
|
||||
"bearerHttpAuthentication": {
|
||||
"type": "http",
|
||||
"description": "Bearer token authentication.",
|
||||
"scheme": "bearer",
|
||||
"bearerFormat": "Bearer [token]"
|
||||
},
|
||||
"basicHttpAuthentication": {
|
||||
"type": "http",
|
||||
"description": "Basic authentication.",
|
||||
"scheme": "basic"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user