REST API for IronSecureDoc

This article was translated from English: Does it need improvement?
Translated
View the article in English

This is the REST API Reference for your instance of IronSecureDoc. This tutorial assumes you already have a container instance running. If you are looking to Get Started please follow our Guide.

Jump to features:

提示

  • The placeholder of http://localhost:8080/ will be used for the URL in all examples. Please ensure you replace it with your URL.
  • Make sure to replace the placeholder values (e.g., path/to/your/file.pdf, certificate_password, etc.) with actual values.
  • The author, title, and subject headers are included in all request examples.

[GET] Health Check

Endpoint: http://localhost:8080/v1/document-services/ping

Health check endpoint to verify that the server is running.

Response: 200 OK: pong


[GET] Check License

Endpoint: http://localhost:8080/v1/document-services/check-license

Verifies the validity of the license.

Response: 200 OK: Valid


[POST] Redact Text

Endpoint: http://localhost:8080/v1/document-services/pdfs/redact-text

Hides sensitive words in a PDF format document using true redaction. Include a PDF file as a pdf_file object in the request body.

Required Request Body Parameters

Name Data Type Description
pdf_file application/pdf file The PDF file to redact.
words_to_redact array[string] An array of words to be redacted from the document.

Optional Request Body Parameters

Name Data Type Default Description
user_password string null User password for the input PDF. Required if the PDF has a user password to grant read access.
owner_password string null Owner password for the input PDF. Required if the PDF has an owner password to grant access to make modifications.
specific_pages array[int] null Optionally specify pages to apply to. If left empty, all pages will apply.
draw_black_box bool True Have a Black Box drawn over redacted text areas.
match_whole_word bool True Allow partial matches within words be redacted too.
match_case bool null Match case for the words to be redacted.
overlay_text string null If your prefer an Overlay Text on the redaction area such as words or symbols, set them here. If not set, a blank character will be used.
save_as_pdfa bool False Save the PDF with PDF/A-3 compliance.
save_as_pdfua bool False Save the PDF with PDF/UA compliance.

Optional Headers

Name Data Type Description
author string Set the PDF Metadata Author property.
title string Set the PDF Metadata Title property.
subject string Set the PDF Metadata Subject property.

Example:

Request

Required Parameters Only:

curl -X POST 'http://localhost:8080/v1/document-services/pdfs/redact-text' \
  -H 'accept: */*' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@sample.pdf;type=application/pdf' \
  -F 'words_to_redact=pdf' \
  -F 'draw_black_box=true' \
  -F 'match_whole_word=true' \
  -F 'match_case=true' \
curl -X POST 'http://localhost:8080/v1/document-services/pdfs/redact-text' \
  -H 'accept: */*' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@sample.pdf;type=application/pdf' \
  -F 'words_to_redact=pdf' \
  -F 'draw_black_box=true' \
  -F 'match_whole_word=true' \
  -F 'match_case=true' \
SHELL

All Required and Optional Parameters:

curl -X POST 'http://localhost:8080/v1/document-services/pdfs/redact-text' \
  -H 'accept: */*' \
  -H 'author: Iron Software | IRONSECUREDOC' \
  -H 'title: WEBSITE DEMO 2024' \
  -H 'subject: DEMO EXAMPLE' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@sample.pdf;type=application/pdf' \
  -F 'words_to_redact=word1' \
  -F 'words_to_redact=word2' \
  -F 'draw_black_box=true' \
  -F 'match_whole_word=true' \
  -F 'match_case=true' \
  -F 'user_password=password' \
  -F 'owner_password=5yug2RT45th32h78' \
  -F 'overlay_text=REDACTED' \
  -F 'specific_pages=0' \
  -F 'specific_pages=1' \
  -F 'save_as_pdfa=false' \
  -F 'save_as_pdfua=false' \
curl -X POST 'http://localhost:8080/v1/document-services/pdfs/redact-text' \
  -H 'accept: */*' \
  -H 'author: Iron Software | IRONSECUREDOC' \
  -H 'title: WEBSITE DEMO 2024' \
  -H 'subject: DEMO EXAMPLE' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@sample.pdf;type=application/pdf' \
  -F 'words_to_redact=word1' \
  -F 'words_to_redact=word2' \
  -F 'draw_black_box=true' \
  -F 'match_whole_word=true' \
  -F 'match_case=true' \
  -F 'user_password=password' \
  -F 'owner_password=5yug2RT45th32h78' \
  -F 'overlay_text=REDACTED' \
  -F 'specific_pages=0' \
  -F 'specific_pages=1' \
  -F 'save_as_pdfa=false' \
  -F 'save_as_pdfua=false' \
SHELL

Response:

  • 200 OK with the redacted PDF file attached.

[POST] Redact Regular Expression

Endpoint: http://localhost:8080/v1/document-services/pdfs/redact-regular-expression

Hides sensitive Regular Expression matches (such as dates, names, or patterns) in a PDF format document using true redaction. Include a PDF file as a pdf_file object in the request body.

Required Request Body Parameters

Name Data Type Description
pdf_file application/pdf file The PDF file to redact.
regular_expression string Regular Expression from which matching cases will be redacted from the document.

Optional Request Body Parameters

Name Data Type Default Description
user_password string null User password for the input PDF. Required if the PDF has a user password to grant read access.
owner_password string null Owner password for the input PDF. Required if the PDF has an owner password to grant access to make modifications.
specific_pages array[int] null Optionally specify pages to apply to. If left empty, all pages will apply.
draw_black_box bool True Have a Black Box drawn over redacted text areas.
overlay_text string null If your prefer an Overlay Text on the redaction area such as words or symbols, set them here. If not set, a blank character will be used.
save_as_pdfa bool False Save the PDF with PDF/A-3 compliance.
save_as_pdfua bool False Save the PDF with PDF/UA compliance.

Optional Headers

Name Data Type Description
author string Set the PDF Metadata Author property.
title string Set the PDF Metadata Title property.
subject string Set the PDF Metadata Subject property.

Example:

Request

Required Parameters Only:

curl -X POST 'http://localhost:8080/v1/document-services/pdfs/redact-regular-expression' \
  -H 'accept: */*' \
  -H 'author: Iron Software | IRONSECUREDOC' \
  -H 'title: WEBSITE DEMO 2024' \
  -H 'subject: DEMO EXAMPLE' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@sample.pdf;type=application/pdf' \
  -F 'regular_expression="[0-9]"' \
  -F 'draw_black_box=true' \
curl -X POST 'http://localhost:8080/v1/document-services/pdfs/redact-regular-expression' \
  -H 'accept: */*' \
  -H 'author: Iron Software | IRONSECUREDOC' \
  -H 'title: WEBSITE DEMO 2024' \
  -H 'subject: DEMO EXAMPLE' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@sample.pdf;type=application/pdf' \
  -F 'regular_expression="[0-9]"' \
  -F 'draw_black_box=true' \
SHELL

All Required and Optional Parameters:

curl -X POST 'http://localhost:8080/v1/document-services/pdfs/redact-regular-expression' \
  -H 'accept: */*' \
  -H 'author: Iron Software | IRONSECUREDOC' \
  -H 'title: WEBSITE DEMO 2024' \
  -H 'subject: DEMO EXAMPLE' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@sample.pdf;type=application/pdf' \
  -F 'regular_expression="[0-9]"' \
  -F 'draw_black_box=true' \
  -F 'user_password=password' \
  -F 'owner_password=5yug2RT45th32h78' \
  -F 'overlay_text=*' \
  -F 'specific_pages=0' \
  -F 'specific_pages=1' \
  -F 'save_as_pdfa=false' \
  -F 'save_as_pdfua=false' \
curl -X POST 'http://localhost:8080/v1/document-services/pdfs/redact-regular-expression' \
  -H 'accept: */*' \
  -H 'author: Iron Software | IRONSECUREDOC' \
  -H 'title: WEBSITE DEMO 2024' \
  -H 'subject: DEMO EXAMPLE' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@sample.pdf;type=application/pdf' \
  -F 'regular_expression="[0-9]"' \
  -F 'draw_black_box=true' \
  -F 'user_password=password' \
  -F 'owner_password=5yug2RT45th32h78' \
  -F 'overlay_text=*' \
  -F 'specific_pages=0' \
  -F 'specific_pages=1' \
  -F 'save_as_pdfa=false' \
  -F 'save_as_pdfua=false' \
SHELL

Response:

  • 200 OK with the redacted PDF file attached.

[POST] Redact Region

Endpoint: http://localhost:8080/v1/document-services/pdfs/redact-region

Hides sensitive text in a specific region of a PDF document using true redaction. Include a PDF file as a pdf_file object in the request body.

Required Request Body Parameters

Name Data Type Description
pdf_file application/pdf file The PDF file to redact.
region_to_redact_x float X coordinate of the region to redact, starting from the bottom-left of the page.
region_to_redact_y float Y coordinate of the region to redact, starting from the bottom-left of the page.
region_to_redact_w float Width of the region to redact, starting from the specified X coordinate.
region_to_redact_h float Height of the region to redact, starting from the specified Y coordinate.

Optional Request Body Parameters

Name Data Type Default Description
user_password string null User password for the input PDF. Required if the PDF has a user password to grant read access.
owner_password string null Owner password for the input PDF. Required if the PDF has an owner password to grant access to make modifications.
specific_pages array[int] null Optionally specify pages to apply to. If left empty, all pages will apply.
draw_black_box bool True Have a Black Box drawn over redacted text areas.
save_as_pdfa bool False Save the PDF with PDF/A-3 compliance.
save_as_pdfua bool False Save the PDF with PDF/UA compliance.

Optional Headers

Name Data Type Description
author string Set the PDF Metadata Author property.
title string Set the PDF Metadata Title property.
subject string Set the PDF Metadata Subject property.

Example:

Request

Required Parameters Only:

curl -X POST 'http://localhost:8080/v1/document-services/pdfs/redact-region' \
  -H 'accept: */*' \
  -H 'author: Iron Software | IRONSECUREDOC' \
  -H 'title: WEBSITE DEMO 2024' \
  -H 'subject: DEMO EXAMPLE' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@sample.pdf;type=application/pdf' \
  -F 'region_to_redact_x=100' \
  -F 'region_to_redact_y=150' \
  -F 'region_to_redact_w=500' \
  -F 'region_to_redact_h=400' \
curl -X POST 'http://localhost:8080/v1/document-services/pdfs/redact-region' \
  -H 'accept: */*' \
  -H 'author: Iron Software | IRONSECUREDOC' \
  -H 'title: WEBSITE DEMO 2024' \
  -H 'subject: DEMO EXAMPLE' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@sample.pdf;type=application/pdf' \
  -F 'region_to_redact_x=100' \
  -F 'region_to_redact_y=150' \
  -F 'region_to_redact_w=500' \
  -F 'region_to_redact_h=400' \
SHELL

All Required and Optional Parameters:

curl -X POST 'http://localhost:8080/v1/document-services/pdfs/redact-region' \
  -H 'accept: */*' \
  -H 'author: Iron Software | IRONSECUREDOC' \
  -H 'title: WEBSITE DEMO 2024' \
  -H 'subject: DEMO EXAMPLE' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@sample.pdf;type=application/pdf' \
  -F 'user_password=password' \
  -F 'owner_password=5yug2RT45th32h78' \
  -F 'region_to_redact_x=100' \
  -F 'region_to_redact_y=150' \
  -F 'region_to_redact_w=500' \
  -F 'region_to_redact_h=400' \
  -F 'specific_pages=0' \
  -F 'specific_pages=1' \
  -F 'save_as_pdfa=false' \
  -F 'save_as_pdfua=false' \
curl -X POST 'http://localhost:8080/v1/document-services/pdfs/redact-region' \
  -H 'accept: */*' \
  -H 'author: Iron Software | IRONSECUREDOC' \
  -H 'title: WEBSITE DEMO 2024' \
  -H 'subject: DEMO EXAMPLE' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@sample.pdf;type=application/pdf' \
  -F 'user_password=password' \
  -F 'owner_password=5yug2RT45th32h78' \
  -F 'region_to_redact_x=100' \
  -F 'region_to_redact_y=150' \
  -F 'region_to_redact_w=500' \
  -F 'region_to_redact_h=400' \
  -F 'specific_pages=0' \
  -F 'specific_pages=1' \
  -F 'save_as_pdfa=false' \
  -F 'save_as_pdfua=false' \
SHELL

Response:

  • 200 OK with the redacted PDF file attached.

[POST] Certify / Apply Digital Signature

Endpoint: http://localhost:8080/v1/document-services/pdfs/certify

Adds a certification to a PDF document to assert that it has not been tampered with by means of a Certificate file (.p12, .pfx). Include a PDF file as a pdf_file object in the request body, and a certificate file as a certificate_file object in the request body.

Required Request Body Parameters

Name Data Type Description
pdf_file application/pdf file The PDF file to certify.
certificate_file application/x-pkcs12 file The certificate file (.p12, .pfx) to use for certification.
certificate_password string Password for the provided certificate file.
certificate_permissions int
certificate_permissions value Permissions
1 No Changes Allowed. Any further document changes will invalidate the signature.
2 Only Additional Signatures and Form Filling Allowed.
3 Only AdditionalSignatures, Form Filling, and Annotations Allowed

Optional Request Body Parameters

Name Data Type Default Description
user_password string null User password for the input PDF. Required if the PDF has a user password to grant read access.
owner_password string null Owner password for the input PDF. Required if the PDF has an owner password to grant access to make modifications.
save_as_pdfa bool False Save the PDF with PDF/A-3 compliance.
save_as_pdfua bool False Save the PDF with PDF/UA compliance.

Optional Headers

Name Data Type Description
author string Set the PDF Metadata Author property.
title string Set the PDF Metadata Title property.
subject string Set the PDF Metadata Subject property.

Example:

Request

Required Parameters Only:

curl -X POST 'http://localhost:8080/v1/document-services/pdfs/certify' \
  -H 'accept: */*' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@sample.pdf;type=application/pdf' \
  -F 'certificate_file=@sample.pfx;type=application/x-pkcs12' \
  -F 'certificate_password=p4ssw0rd' \
  -F 'certificate_permissions=1' \
curl -X POST 'http://localhost:8080/v1/document-services/pdfs/certify' \
  -H 'accept: */*' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@sample.pdf;type=application/pdf' \
  -F 'certificate_file=@sample.pfx;type=application/x-pkcs12' \
  -F 'certificate_password=p4ssw0rd' \
  -F 'certificate_permissions=1' \
SHELL

All Required and Optional Parameters:

curl -X POST 'http://localhost:8080/v1/document-services/pdfs/certify' \
  -H 'accept: */*' \
  -H 'author: Iron Software | IRONSECUREDOC' \
  -H 'title: WEBSITE DEMO 2024' \
  -H 'subject: DEMO EXAMPLE' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@sample.pdf;type=application/pdf' \
  -F 'certificate_file=@sample.pfx;type=application/x-pkcs12' \
  -F 'certificate_password=p4ssw0rd' \
  -F 'certificate_permissions=1' \
  -F 'user_password=password' \
  -F 'owner_password=5yug2RT45th32h78' \
  -F 'save_as_pdfa=false' \
  -F 'save_as_pdfua=false' \
curl -X POST 'http://localhost:8080/v1/document-services/pdfs/certify' \
  -H 'accept: */*' \
  -H 'author: Iron Software | IRONSECUREDOC' \
  -H 'title: WEBSITE DEMO 2024' \
  -H 'subject: DEMO EXAMPLE' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@sample.pdf;type=application/pdf' \
  -F 'certificate_file=@sample.pfx;type=application/x-pkcs12' \
  -F 'certificate_password=p4ssw0rd' \
  -F 'certificate_permissions=1' \
  -F 'user_password=password' \
  -F 'owner_password=5yug2RT45th32h78' \
  -F 'save_as_pdfa=false' \
  -F 'save_as_pdfua=false' \
SHELL

Response:

  • 200 OK with the certified PDF file attached.

[POST] Sign with Signature and Certificate

Endpoint: http://localhost:8080/v1/document-services/pdfs/sign

Adds an image and certification to that image in a PDF document to assert that it has not been tampered with by means of a Certificate file (.p12, .pfx). Include a PDF file as a pdf_file object in the request body, and a certificate file as a certificate_file object in the request body.

Required Request Body Parameters

Name Data Type Description
pdf_file application/pdf file The PDF file to certify.
signature_image_file image/jpeg or image/png file The signature image (.png, .jpg, .jpeg) to use for certification. Can be a logo, autograph, etc.
certificate_file application/x-pkcs12 file The certificate file (.p12, .pfx) to use for certification.
certificate_password string Password for the provided certificate file.
certificate_permissions int
certificate_permissions value Permissions
1 No Changes Allowed. Any further document changes will invalidate the signature.
2 Only Additional Signatures and Form Filling Allowed.
3 Only AdditionalSignatures, Form Filling, and Annotations Allowed

sign_specific_page int Specify page to apply the image and certificate to. First page is 0. If left empty, only first page will apply.
signature_image_x float The X coordinate of the Rectangle region of the signature image. This starts from the top-left of the page.
signature_image_y float The Y coordinate of the Rectangle region of the signature image. This starts from the top-left of the page.
signature_image_w float The Width of the Rectangle region of the signature image. This starts from the top-left of the page.
signature_image_h float The Height of the Rectangle region of the signature image. This starts from the top-left of the page.

Optional Request Body Parameters

Name Data Type Default Description
user_password string null User password for the input PDF. Required if the PDF has a user password to grant read access.
owner_password string null Owner password for the input PDF. Required if the PDF has an owner password to grant access to make modifications.
specific_pages array[int] null Optionally specify pages to apply to. If left empty, all pages will apply.
save_as_pdfa bool False Save the PDF with PDF/A-3 compliance.
save_as_pdfua bool False Save the PDF with PDF/UA compliance.

Optional Headers

Name Data Type Description
author string Set the PDF Metadata Author property.
title string Set the PDF Metadata Title property.
subject string Set the PDF Metadata Subject property.

Example:

Request

Required Parameters Only:

curl -X POST 'http://localhost:8080/v1/document-services/pdfs/sign' \
  -H 'accept: */*' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@sample.pdf;type=application/pdf' \
  -F 'signature_image_file=@autograph.png;type=image/png' \
  -F 'certificate_file=@sample.pfx;type=application/x-pkcs12' \
  -F 'certificate_password=p4ssw0rd' \
  -F 'certificate_permissions=1' \
  -F 'sign_specific_page=0' \
  -F 'signature_image_x=100' \
  -F 'signature_image_y=150' \
  -F 'signature_image_w=500' \
  -F 'signature_image_h=400' \
curl -X POST 'http://localhost:8080/v1/document-services/pdfs/sign' \
  -H 'accept: */*' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@sample.pdf;type=application/pdf' \
  -F 'signature_image_file=@autograph.png;type=image/png' \
  -F 'certificate_file=@sample.pfx;type=application/x-pkcs12' \
  -F 'certificate_password=p4ssw0rd' \
  -F 'certificate_permissions=1' \
  -F 'sign_specific_page=0' \
  -F 'signature_image_x=100' \
  -F 'signature_image_y=150' \
  -F 'signature_image_w=500' \
  -F 'signature_image_h=400' \
SHELL

All Required and Optional Parameters:

curl -X POST 'http://localhost:8080/v1/document-services/pdfs/sign' \
  -H 'accept: */*' \
  -H 'author: Iron Software | IRONSECUREDOC' \
  -H 'title: WEBSITE DEMO 2024' \
  -H 'subject: DEMO EXAMPLE' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@sample.pdf;type=application/pdf' \
  -F 'signature_image_file=@autograph.png;type=image/png' \
  -F 'certificate_file=@sample.pfx;type=application/x-pkcs12' \
  -F 'certificate_password=p4ssw0rd' \
  -F 'certificate_permissions=1' \
  -F 'user_password=password' \
  -F 'owner_password=5yug2RT45th32h78' \
  -F 'save_as_pdfa=false' \
  -F 'save_as_pdfua=false' \
  -F 'sign_specific_page=0' \
  -F 'signature_image_x=100' \
  -F 'signature_image_y=150' \
  -F 'signature_image_w=500' \
  -F 'signature_image_h=400' \
curl -X POST 'http://localhost:8080/v1/document-services/pdfs/sign' \
  -H 'accept: */*' \
  -H 'author: Iron Software | IRONSECUREDOC' \
  -H 'title: WEBSITE DEMO 2024' \
  -H 'subject: DEMO EXAMPLE' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@sample.pdf;type=application/pdf' \
  -F 'signature_image_file=@autograph.png;type=image/png' \
  -F 'certificate_file=@sample.pfx;type=application/x-pkcs12' \
  -F 'certificate_password=p4ssw0rd' \
  -F 'certificate_permissions=1' \
  -F 'user_password=password' \
  -F 'owner_password=5yug2RT45th32h78' \
  -F 'save_as_pdfa=false' \
  -F 'save_as_pdfua=false' \
  -F 'sign_specific_page=0' \
  -F 'signature_image_x=100' \
  -F 'signature_image_y=150' \
  -F 'signature_image_w=500' \
  -F 'signature_image_h=400' \
SHELL

Response:

  • 200 OK with the certified PDF file attached.

[POST] Verify Signatures

Endpoint: http://localhost:8080/v1/document-services/pdfs/verify-signatures

Verifies that the signatures within the PDF file are valid.

Required Request Body Parameters

Name Data Type Description
pdf_file application/pdf file The PDF file to encrypt.

Optional Request Body Parameters

Name Data Type Default Description
user_password string null User password for the input PDF. Required if the PDF has a user password to grant read access.
owner_password string null Owner password for the input PDF. Required if the PDF has an owner password to grant access to make modifications.

Example:

Request

Required Parameters Only:

curl -X POST 'https://api.securedoc.com/v1/document-services/pdfs/verify-signatures' \
  -H 'accept: */*' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@sample.pdf;type=application/pdf' \
curl -X POST 'https://api.securedoc.com/v1/document-services/pdfs/verify-signatures' \
  -H 'accept: */*' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@sample.pdf;type=application/pdf' \
YAML

All Required and Optional Parameters:

curl -X POST 'https://api.securedoc.com/v1/document-services/pdfs/verify-signatures' \
  -H 'accept: */*' \
  -H 'author: Iron Software | IRONSECUREDOC' \
  -H 'title: WEBSITE DEMO 2024' \
  -H 'subject: DEMO EXAMPLE' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@sample.pdf;type=application/pdf' \
  -F 'user_password=password' \
  -F 'owner_password=5yug2RT45th32h78' \
curl -X POST 'https://api.securedoc.com/v1/document-services/pdfs/verify-signatures' \
  -H 'accept: */*' \
  -H 'author: Iron Software | IRONSECUREDOC' \
  -H 'title: WEBSITE DEMO 2024' \
  -H 'subject: DEMO EXAMPLE' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@sample.pdf;type=application/pdf' \
  -F 'user_password=password' \
  -F 'owner_password=5yug2RT45th32h78' \
YAML

Response:

  • 200 OK if there are signatures and they are all valid
  • 400 Bad Request if there are no signatures or at least one is invalid.

[POST] Encrypt / Add Password & Permissions

Endpoint: http://localhost:8080/v1/document-services/pdfs/encrypt

Adds a layer of security to a PDF document by encrypting it with a user and owner password. Include a PDF file as a pdf_file object in the request body.

Required Request Body Parameters

Name Data Type Description
pdf_file application/pdf file The PDF file to encrypt.
allow_extracting_content bool Allow the extraction of content from the PDF file.
allow_form_filling bool Allow the filling of forms in the resulting PDF.
allow_annotations bool Allow the addition or modification of annotations in the resulting PDF.
allow_printing bool Allow printing of the resulting PDF.
allow_modifications bool Allow modifications to the resulting PDF.
new_owner_password string New owner password for the output PDF. Grants full access, including changing permissions and passwords.

Optional Request Body Parameters

Name Data Type Default Description
user_password string null User password for the input PDF. Required if the PDF has a user password to grant read access.
owner_password string null Owner password for the input PDF. Required if the PDF has an owner password to grant access to make modifications.
new_user_password string null New user password for the output PDF. Grants read access and other specified permissions.
save_as_pdfa bool False Save the PDF with PDF/A-3 compliance.
save_as_pdfua bool False Save the PDF with PDF/UA compliance.

Optional Headers

Name Data Type Description
author string Set the PDF Metadata Author property.
title string Set the PDF Metadata Title property.
subject string Set the PDF Metadata Subject property.

Example:

Request

Required Parameters Only:

curl -X POST 'http://localhost:8080/v1/document-services/pdfs/encrypt' \
  -H 'accept: */*' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@sample.pdf;type=application/pdf' \
  -F 'allow_extracting_content=true' \
  -F 'allow_form_filling=true' \
  -F 'allow_annotations=true' \
  -F 'allow_printing=true' \
  -F 'allow_modifications=false' \
curl -X POST 'http://localhost:8080/v1/document-services/pdfs/encrypt' \
  -H 'accept: */*' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@sample.pdf;type=application/pdf' \
  -F 'allow_extracting_content=true' \
  -F 'allow_form_filling=true' \
  -F 'allow_annotations=true' \
  -F 'allow_printing=true' \
  -F 'allow_modifications=false' \
SHELL

All Required and Optional Parameters:

curl -X POST 'http://localhost:8080/v1/document-services/pdfs/encrypt' \
  -H 'accept: */*' \
  -H 'author: Iron Software | IRONSECUREDOC' \
  -H 'title: WEBSITE DEMO 2024' \
  -H 'subject: DEMO EXAMPLE' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@sample.pdf;type=application/pdf' \
  -F 'allow_extracting_content=true' \
  -F 'allow_form_filling=true' \
  -F 'allow_annotations=true' \
  -F 'allow_printing=true' \
  -F 'allow_modifications=false' \
  -F 'user_password=password' \
  -F 'owner_password=5yug2RT45th32h78' \
  -F 'new_user_password=p4ssw0rd' \
  -F 'save_as_pdfa=false' \
  -F 'save_as_pdfua=false' \
curl -X POST 'http://localhost:8080/v1/document-services/pdfs/encrypt' \
  -H 'accept: */*' \
  -H 'author: Iron Software | IRONSECUREDOC' \
  -H 'title: WEBSITE DEMO 2024' \
  -H 'subject: DEMO EXAMPLE' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@sample.pdf;type=application/pdf' \
  -F 'allow_extracting_content=true' \
  -F 'allow_form_filling=true' \
  -F 'allow_annotations=true' \
  -F 'allow_printing=true' \
  -F 'allow_modifications=false' \
  -F 'user_password=password' \
  -F 'owner_password=5yug2RT45th32h78' \
  -F 'new_user_password=p4ssw0rd' \
  -F 'save_as_pdfa=false' \
  -F 'save_as_pdfua=false' \
SHELL

Response:

  • 200 OK with the encrypted PDF file attached.

[POST] Extract Text from a Document

Endpoint: http://localhost:8080/v1/document-services/pdfs/extract

Extracts text embedded in the pages of a document. Include a PDF file as a pdf_file object in the request body.

Required Request Body Parameters

Name Data Type Description
pdf_file application/pdf file The PDF file to encrypt.

Optional Request Body Parameters

Name Data Type Default Description
user_password string null User password for the input PDF. Required if the PDF has a user password to grant read access.
owner_password string null Owner password for the input PDF. Required if the PDF has an owner password to grant access to make modifications.
specific_pages array[int] null Optionally specify pages to apply to. If left empty, all pages will apply.

Example:

Request

Required Parameters Only:

curl -X POST 'http://localhost:8080/v1/document-services/pdfs/extract' \
  -H 'accept: */*' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@sample.pdf;type=application/pdf' \
curl -X POST 'http://localhost:8080/v1/document-services/pdfs/extract' \
  -H 'accept: */*' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@sample.pdf;type=application/pdf' \
SHELL

All Required and Optional Parameters:

curl -X POST 'http://localhost:8080/v1/document-services/pdfs/extract' \
  -H 'accept: */*' \
  -H 'author: Iron Software | IRONSECUREDOC' \
  -H 'title: WEBSITE DEMO 2024' \
  -H 'subject: DEMO EXAMPLE' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@sample.pdf;type=application/pdf' \
  -F 'user_password=password' \
  -F 'owner_password=5yug2RT45th32h78' \
  -F 'specific_pages=0' \
  -F 'specific_pages=1' \
curl -X POST 'http://localhost:8080/v1/document-services/pdfs/extract' \
  -H 'accept: */*' \
  -H 'author: Iron Software | IRONSECUREDOC' \
  -H 'title: WEBSITE DEMO 2024' \
  -H 'subject: DEMO EXAMPLE' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@sample.pdf;type=application/pdf' \
  -F 'user_password=password' \
  -F 'owner_password=5yug2RT45th32h78' \
  -F 'specific_pages=0' \
  -F 'specific_pages=1' \
SHELL

Response:

  • 200 OK with the extracted text as a response.

[POST] Verify Document Password

Endpoint: http://localhost:8080/v1/document-services/pdfs/verify-password

Verifies that the user and owner passwords supplied are valid for the pdf_file.

Required Request Body Parameters

Name Data Type Description
pdf_file application/pdf file The PDF file.
user_password string User password for the input PDF. Required if the PDF has a user password to grant read access.
owner_password string Owner password for the input PDF.

Example:

Request

Required Parameters Only:

curl -X POST 'http://localhost:8080/v1/document-services/pdfs/verify-password' \
  -H 'accept: */*' \
  -H 'author: Iron Software | IRONSECUREDOC' \
  -H 'title: WEBSITE DEMO 2024' \
  -H 'subject: DEMO EXAMPLE' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@sample.pdf;type=application/pdf' \
  -F 'user_password=password' \
  -F 'owner_password=5yug2RT45th32h78' \
curl -X POST 'http://localhost:8080/v1/document-services/pdfs/verify-password' \
  -H 'accept: */*' \
  -H 'author: Iron Software | IRONSECUREDOC' \
  -H 'title: WEBSITE DEMO 2024' \
  -H 'subject: DEMO EXAMPLE' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@sample.pdf;type=application/pdf' \
  -F 'user_password=password' \
  -F 'owner_password=5yug2RT45th32h78' \
SHELL

Response:

  • 200 OK

常見問題解答

IronSecureDoc REST API 的目的是什麼?

IronSecureDoc REST API 的設計旨在幫助開發人員通過提供文本修訂、數位簽名應用、文件加密和密碼驗證等功能來保護和管理 PDF 文件。

如何使用 IronSecureDoc API 確保我的伺服器正常運行?

您可以通過向 `/v1/document-services/ping` 端點發送 GET 請求來確保您的伺服器正常運行。如果成功,伺服器將返回 `200 OK` 狀態和消息 `pong`。

如何使用 API 修訂 PDF 中的特定文本或模式?

您可以通過向 `/v1/document-services/pdfs/redact-text` 端點發送 POST 請求,同時附上需要修訂的 PDF 和文本或正則表達式來修訂特定文本或模式。

如何驗證 PDF 的數位簽名是否有效?

要驗證 PDF 中的數位簽名,可以將 PDF 文件發送到 `/v1/document-services/pdfs/verify-signatures` 端點的 POST 請求。API 將返回每個簽名的有效性信息。

使用 IronSecureDoc API 加密 PDF 涉及哪些步驟?

要加密 PDF,請將 PDF 文件發送到 `/v1/document-services/pdfs/encrypt` 端點的 POST 請求,指定使用者和擁有者密碼以及任何需要設定的權限,例如內容提取或表單填寫。

如何使用 IronSecureDoc API 為 PDF 文件進行數位簽名?

您可以將 PDF 文件、數位證書和證書密碼發送到 `/v1/document-services/pdfs/certify` 端點的 POST 請求來為 PDF 進行數位簽名。

有哪些選項可用於保護 PDF 文檔?

保護 PDF 的選項包括加密文件、設置訪問權限、添加使用者和擁有者密碼以及使用 IronSecureDoc API 驗證現有密碼。

使用 IronSecureDoc API 是否可以從 PDF 提取文本?

是的,您可以發送 POST 請求到 `/v1/document-services/pdfs/extract` 端點來從 PDF 中提取文本。您可以指定參數從某些頁面或整個文檔提取文本。

如何驗證 PDF 文件的密碼?

要驗證密碼,請將 PDF 文件發送到 `/v1/document-services/pdfs/verify-password` 端點的 POST 請求。請在請求中包含使用者和擁有者密碼以確認其有效性。

IronSecureDoc REST API 的主要功能是什麼?

IronSecureDoc REST API 的主要功能包括伺服器健康檢查、授權驗證、文本修訂、數位簽名應用、PDF 加密和文本提取。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

準備好開始了嗎?
版本: 2024.10 剛剛發布