Jobs
AutotagPDFJob
- class adobe.pdfservices.operation.pdfjobs.jobs.autotag_pdf_job.AutotagPDFJob(input_asset: Asset, *, autotag_pdf_params: AutotagPDFParams | None = None, output_asset: Asset | None = None)
Bases:
PDFServicesJob
A job that creates PDF documents with enhanced readability from existing PDF documents. An optional tagging report can also be generated which contains the information about the tags that the tagged output PDF document contains.
Accessibility tags, used by assistive technology such as screen reader are required to make PDF files compliant. However, the generated PDF is not guaranteed to comply with accessibility standards such as WCAG and PDF/UA as there could be a need to perform further downstream remediation to meet those standards.
Sample usage.
file = open('SOURCE_PATH', 'rb') input_stream = file.read() file.close() credentials = ServicePrincipalCredentials( client_id=os.getenv('PDF_SERVICES_CLIENT_ID'), client_secret=os.getenv('PDF_SERVICES_CLIENT_SECRET') ) pdf_services = PDFServices(credentials=credentials) input_asset = pdf_services.upload(input_stream=input_stream, mime_type=MediaType.PDF) autotag_pdf_job = AutotagPDFJob(input_asset) location = pdf_services.submit(autotag_pdf_job) pdf_services_response = pdf_services.get_job_result(location, AutotagPDFResult) result_asset: CloudAsset = pdf_services_response.get_result().get_tagged_pdf() stream_asset: StreamAsset = pdf_services.get_content(result_asset)
Constructs a new instance of
AutotagPDFJob
.- Parameters:
input_asset (Asset) – The input asset for the job; can not be None.
autotag_pdf_params (AutotagPDFParams) – AutotagPDFParams to set.(Optional, use key-value)
output_asset (ExternalAsset) – The output asset for the job. (Optional, use key-value)
- Returns:
A new instance of AutotagPDFJob
- Return type:
CombinePDFJob
- class adobe.pdfservices.operation.pdfjobs.jobs.combine_pdf_job.CombinePDFJob(combine_pdf_params: CombinePDFParams, *, output_asset: Asset | None = None)
Bases:
PDFServicesJob
A job that combines multiple PDF files into a single PDF file. Allows specifying which pages of the source files to combine.
Sample usage.
file = open('SOURCE_PATH_1', 'rb') input_stream_1 = file.read() file.close() file = open('SOURCE_PATH_2', 'rb') input_stream_2 = file.read() file.close() credentials = ServicePrincipalCredentials( client_id=os.getenv('PDF_SERVICES_CLIENT_ID'), client_secret=os.getenv('PDF_SERVICES_CLIENT_SECRET') ) pdf_services = PDFServices(credentials=credentials) stream_assets = [StreamAsset(input_stream_1, MediaType.PDF), StreamAsset(input_stream_2, MediaType.PDF)] assets = pdf_services.upload_assets(stream_assets) combine_pdf_params = ((CombinePDFParams() .add_asset(assets[0])) .add_asset(assets[1])) combine_pdf_job = CombinePDFJob(combine_pdf_params=combine_pdf_params) location = pdf_services.submit(combine_pdf_job) pdf_services_response = pdf_services.get_job_result(location, CombinePDFResult) result_asset: CombinePDFResult = pdf_services_response.get_result().get_asset() stream_asset: StreamAsset = pdf_services.get_content(result_asset)
Constructs a new
CombinePDFJob
instance.- Parameters:
combine_pdf_params (CombinePDFParams) – CombinePDFParams to set; can not be None.
output_asset (ExternalAsset) – The output asset for the job. (Optional, use key-value)
- Returns:
A new instance of CombinePDFJob
- Return type:
CompressPDFJob
- class adobe.pdfservices.operation.pdfjobs.jobs.compress_pdf_job.CompressPDFJob(input_asset: Asset, *, compress_pdf_params: CompressPDFParams | None = None, output_asset: Asset | None = None)
Bases:
PDFServicesJob
A job that reduces the size of a PDF file. Allows specifying
CompressionLevel
for compressing pdfSample usage.
file = open('SOURCE_PATH', 'rb') input_stream = file.read() file.close() credentials = ServicePrincipalCredentials( client_id=os.getenv('PDF_SERVICES_CLIENT_ID'), client_secret=os.getenv('PDF_SERVICES_CLIENT_SECRET') ) pdf_services = PDFServices(credentials=credentials) input_asset = pdf_services.upload(input_stream=input_stream, mime_type=MediaType.PDF) compress_pdf_job = CompressPDFJob(input_asset=input_asset) location = pdf_services.submit(compress_pdf_job) pdf_services_response = pdf_services.get_job_result(location, CompressPDFResult) result_asset: CloudAsset = pdf_services_response.get_result().get_asset() stream_asset: StreamAsset = pdf_services.get_content(result_asset)
Constructs a new
CompressPDFJob
instance.- Parameters:
input_asset (Asset) – The input asset for the job; can not be None.
compress_pdf_params (CompressPDFParams) – CompressPDFParams to set.(Optional, use key-value)
output_asset (ExternalAsset) – The output asset for the job. (Optional, use key-value)
- Returns:
A new instance of CompressPDFJob
- Return type:
CreatePDFJob
- class adobe.pdfservices.operation.pdfjobs.jobs.create_pdf_job.CreatePDFJob(input_asset: Asset, *, create_pdf_params: CreatePDFParams | None = None, output_asset: Asset | None = None)
Bases:
PDFServicesJob
A job that converts a non-PDF file to a PDF file. Some source formats may have associated conversion parameters.
Sample usage.
file = open('SOURCE_PATH', 'rb') input_stream = file.read() file.close() credentials = ServicePrincipalCredentials( client_id=os.getenv('PDF_SERVICES_CLIENT_ID'), client_secret=os.getenv('PDF_SERVICES_CLIENT_SECRET') ) pdf_services = PDFServices(credentials=credentials) input_asset = pdf_services.upload(input_stream=input_stream, mime_type=MediaType.DOCX) create_pdf_job = CreatePDFJob(input_asset) location = pdf_services.submit(create_pdf_job) pdf_services_response = pdf_services.get_job_result(location, CreatePDFResult) result_asset: CloudAsset = pdf_services_response.get_result().get_asset() stream_asset: StreamAsset = pdf_services.get_content(result_asset)
Constructs a new instance of
CreatePDFJob
.- Parameters:
input_asset (Asset) – The input asset for the job; can not be None.
create_pdf_params (CreatePDFParams) – CreatePDFParams to set.(Optional, use key-value)
output_asset (ExternalAsset) – The output asset for the job. (Optional, use key-value)
- Returns:
A new instance of CreatePDFJob.
- Return type:
DeletePagesJob
- class adobe.pdfservices.operation.pdfjobs.jobs.delete_pages_job.DeletePagesJob(input_asset: Asset, delete_pages_params: DeletePagesParams, *, output_asset: Asset | None = None)
Bases:
PDFServicesJob
A job to delete pages in a PDF file.
Sample usage.
file = open('SOURCE_PATH', 'rb') input_stream = file.read() file.close() credentials = ServicePrincipalCredentials( client_id=os.getenv('PDF_SERVICES_CLIENT_ID'), client_secret=os.getenv('PDF_SERVICES_CLIENT_SECRET') ) pdf_services = PDFServices(credentials=credentials) input_asset = pdf_services.upload(input_stream=input_stream, mime_type=MediaType.PDF) page_ranges_for_deletion = PageRanges() page_ranges.add_single_page(1) delete_pages_params = DeletePagesParams(page_ranges=page_ranges_for_deletion) delete_pages_job = DeletePagesJob(input_asset=input_asset, delete_pages_params=delete_pages_params) location = pdf_services.submit(delete_pages_job) pdf_services_response = pdf_services.get_job_result(location, CompressPDFResult) result_asset: CloudAsset = pdf_services_response.get_result().get_asset() stream_asset: StreamAsset = pdf_services.get_content(result_asset)
Constructs a new
DeletePagesJob
instance.- Parameters:
input_asset (Asset) – The input asset for the job; can not be None.
delete_pages_params (DeletePagesParams) – DeletePagesParams to set.(Optional, use key-value)
output_asset (ExternalAsset) – The output asset for the job. (Optional, use key-value)
- Returns:
A new instance of DeletePagesJob
- Return type:
DocumentMergeJob
- class adobe.pdfservices.operation.pdfjobs.jobs.document_merge_job.DocumentMergeJob(input_asset: Asset, document_merge_params: DocumentMergeParams, *, output_asset: Asset | None = None)
Bases:
PDFServicesJob
A job that enables the clients to produce high fidelity PDF and Word documents with dynamic data inputs. This operation merges the JSON data with the Word template to create dynamic documents for contracts and agreements, invoices, proposals, reports, forms, branded marketing documents and more.
To know more about document generation and document templates, Click Here.
Sample Usage:
file = open('SOURCE_PATH', 'rb') input_stream = file.read() file.close() credentials = ServicePrincipalCredentials( client_id=os.getenv('PDF_SERVICES_CLIENT_ID'), client_secret=os.getenv('PDF_SERVICES_CLIENT_SECRET') ) pdf_services = PDFServices(credentials=credentials) input_asset = pdf_services.upload(input_stream=input_stream, mime_type=MediaType.DOCX) json_data_for_merge = {"customerName": "Kane Miller", "customerVisits": 100} document_merge_params = DocumentMergeParams(json_data_for_merge=json_data_for_merge, output_format=OutputFormat.DOCX) document_merge_job = DocumentMergeJob(input_asset=input_asset, document_merge_params=document_merge_params) location = pdf_services.submit(document_merge_job) pdf_services_response = pdf_services.get_job_result(location, DocumentMergePDFResult) result_asset: CloudAsset = pdf_services_response.get_result().get_asset() stream_asset: StreamAsset = pdf_services.get_content(result_asset)
Constructs a new
DocumentMergeJob
instance.- Parameters:
input_asset (Asset) – The input asset for the job; can not be None.
document_merge_params (DocumentMergeParams) – DocumentMergeParams to set. can not be None.
output_asset (ExternalAsset) – The output asset for the job. (Optional, use key-value)
- Returns:
A new instance of DocumentMergeJob
- Return type:
PDFElectronicSealJob
- class adobe.pdfservices.operation.pdfjobs.jobs.eseal_job.PDFElectronicSealJob(input_asset: Asset, electronic_seal_params: PDFElectronicSealParams, *, seal_image_asset: Asset | None = None, output_asset: Asset | None = None)
Bases:
PDFServicesJob
A job that allows clients to apply an electronic seal onto various PDF documents such as agreements, invoices, and more.
To know more about PDF Electronic Seal, Click Here.
Sample usage.
pdf_file = open('SOURCE_PATH', 'rb') file_input_stream = pdf_file.read() pdf_file.close() seal_image_file = open('IMAGE_SOURCE_PATH', 'rb') seal_image_input_stream = seal_image_file.read() seal_image_file.close() credentials = ServicePrincipalCredentials( client_id=os.getenv('PDF_SERVICES_CLIENT_ID'), client_secret=os.getenv('PDF_SERVICES_CLIENT_SECRET') ) pdf_services = PDFServices(credentials=credentials) asset = pdf_services.upload(input_stream=file_input_stream, mime_type=PDFServicesMediaType.PDF) seal_image_asset = pdf_services.upload(input_stream=seal_image_input_stream, mime_type=PDFServicesMediaType.PNG) document_level_permission = DocumentLevelPermission.FORM_FILLING seal_field_name = "Signature1" seal_page_number = 1 seal_visible = True field_location = FieldLocation(150, 250, 350, 200) field_options = FieldOptions( field_name=seal_field_name, field_location=field_location, page_number=seal_page_number, visible=seal_visible ) provider_name = "<PROVIDER_NAME>" access_token = "<ACCESS_TOKEN>" credential_id = "<CREDENTIAL_ID>" pin = "<PIN>" csc_auth_context = CSCAuthContext( access_token=access_token, token_type="Bearer", ) certificate_credentials = CSCCredentials( provider_name=provider_name, credential_id=credential_id, pin=pin, csc_auth_context=csc_auth_context, ) electronic_seal_params = PDFElectronicSealParams( seal_certificate_credentials=certificate_credentials, seal_field_options=field_options, ) electronic_seal_job = PDFElectronicSealJob(input_asset=asset, electronic_seal_params=electronic_seal_params, seal_image_asset=seal_image_asset) location = pdf_services.submit(electronic_seal_job) pdf_services_response = pdf_services.get_job_result(location, ESealPDFResult) result_asset: CloudAsset = pdf_services_response.get_result().get_asset() stream_asset: StreamAsset = pdf_services.get_content(result_asset)
Constructs a new
PDFElectronicSealJob
instance.- Parameters:
input_asset (Asset) – The input asset for the job; can not be None.
electronic_seal_params (PDFElectronicSealParams) – Parameters for electronic seal; can not be None.
seal_image_asset (Asset) – Seal image asset for the job. (Optional, use key-value)
output_asset (ExternalAsset) – The output asset for the job. (Optional, use key-value)
- Returns:
A new instance of PDFElectronicSealJob.
- Return type:
ExportPDFJob
- class adobe.pdfservices.operation.pdfjobs.jobs.export_pdf_job.ExportPDFJob(input_asset: Asset, export_pdf_params: ExportPDFParams, *, output_asset: Asset | None = None)
Bases:
PDFServicesJob
A job which exports a source PDF file to a supported format specified by
ExportPDFTargetFormat
For example, a PDF can be exported to a DOCX file as follows:
Sample usage.
file = open('SOURCE_PATH', 'rb') input_stream = file.read() file.close() credentials = ServicePrincipalCredentials( client_id=os.getenv('PDF_SERVICES_CLIENT_ID'), client_secret=os.getenv('PDF_SERVICES_CLIENT_SECRET') ) pdf_services = PDFServices(credentials=credentials) input_asset = pdf_services.upload(input_stream=input_stream, mime_type=MediaType.PDF) export_pdf_params = ExportPDFParams(target_format=ExportPDFTargetFormat.DOCX) export_pdf_job = ExportPDFJob(input_asset=input_asset, export_pdf_params=export_pdf_params) location = pdf_services.submit(export_pdf_job) pdf_services_response = pdf_services.get_job_result(location, ExportPDFResult) result_asset: CloudAsset = pdf_services_response.get_result().get_asset() stream_asset: StreamAsset = pdf_services.get_content(result_asset)
Constructs a new
ExportPDFJob
instance.- Parameters:
input_asset (Asset) – Asset object containing the input file; can not be None.
export_pdf_params (ExportPDFParams) – ExportPDFParams object containing the export parameters; can not be None.
output_asset (Asset) – Asset object representing the output asset. (Optional, use key-value)
- Returns:
A new instance of ExportPDFJob.
- Return type:
Note
External assets can be set as output only when input is external asset as well
ExportPDFtoImagesJob
- class adobe.pdfservices.operation.pdfjobs.jobs.export_pdf_to_images_job.ExportPDFtoImagesJob(input_asset: Asset, export_pdf_to_images_params: ExportPDFtoImagesParams, *, output_asset: Asset | None = None)
Bases:
PDFServicesJob
A job which exports a source PDF file to a supported format specified by
ExportPDFToImagesTargetFormat
The result is a list of images or a list containing a zip of images. For example, a PDF file with 15 pages will generate 15 image files. The first file’s name ends with “_0” and the last file’s name ends with “_14”.
Sample usage.
file = open('SOURCE_PATH', 'rb') input_stream = file.read() file.close() credentials = ServicePrincipalCredentials( client_id=os.getenv('PDF_SERVICES_CLIENT_ID'), client_secret=os.getenv('PDF_SERVICES_CLIENT_SECRET') ) pdf_services = PDFServices(credentials=credentials) input_asset = pdf_services.upload(input_stream=input_stream, mime_type=MediaType.PDF) export_pdf_to_images_params = ExportPDFtoImagesParams( export_pdf_to_images_target_format=ExportPDFToImagesTargetFormat.JPEG, export_pdf_to_images_output_type=ExportPDFToImagesOutputType.LIST_OF_PAGE_IMAGES ) export_pdf_to_images_job = ExportPDFtoImagesJob( input_asset=input_asset, export_pdf_to_images_params=export_pdf_to_images_params ) location = pdf_services.submit(export_pdf_to_images_job) pdf_services_response = pdf_services.get_job_result(location, ExportPDFtoImagesResult) result_assets = pdf_services_response.get_result().get_assets()
Constructs a new
ExportPDFToImagesJob
instance.- Parameters:
input_asset (Asset) – Asset object containing the input file; can not be None.
export_pdf_to_images_params (ExportPDFtoImagesParams) – ExportPDFToImagesParams object containing the export to images parameters; can not be None.
output_asset (Asset) – Asset object representing the output asset. (Optional, use key-value)
ExtractPDFJob
- class adobe.pdfservices.operation.pdfjobs.jobs.extract_pdf_job.ExtractPDFJob(input_asset: Asset, *, extract_pdf_params: ExtractPDFParams | None = None, output_asset: Asset | None = None)
Bases:
PDFServicesJob
A job that extracts pdf elements such as text, images, tables in a structured format from a PDF.
Sample usage.
file = open('SOURCE_PATH', 'rb') input_stream = file.read() file.close() credentials = ServicePrincipalCredentials( client_id=os.getenv('PDF_SERVICES_CLIENT_ID'), client_secret=os.getenv('PDF_SERVICES_CLIENT_SECRET') ) pdf_services = PDFServices(credentials=credentials) input_asset = pdf_services.upload(input_stream=input_stream, mime_type=MediaType.PDF) extract_pdf_params = ExtractPDFParams( elements_to_extract=[ExtractElementType.TEXT], ) extract_pdf_job = ExtractPDFJob(input_asset=input_asset, extract_pdf_params=extract_pdf_params) # Submit the job and gets the job result location = pdf_services.submit(extract_pdf_job) pdf_services_response = pdf_services.get_job_result(location, ExtractPDFResult) # Get content from the resulting asset(s) result_asset: CloudAsset = pdf_services_response.get_result().get_resource() stream_asset: StreamAsset = pdf_services.get_content(result_asset)
Constructs a new
ExtractPDFJob
instance.- Parameters:
input_asset (Asset) – Asset object containing the input file; can not be None.
extract_pdf_params (ExtractPDFParams) – ExtractPDFParams object containing the extract PDF parameters, (Optional, use key-value)
output_asset (ExternalAsset) – Asset object representing the output asset. (Optional, use key-value)
HTMLtoPDFJob
- class adobe.pdfservices.operation.pdfjobs.jobs.html_to_pdf_job.HTMLtoPDFJob(*, input_asset: Asset | None = None, input_url: str | None = None, html_to_pdf_params: HTMLtoPDFParams | None = None, output_asset: Asset | None = None)
Bases:
PDFServicesJob
A job that converts a HTML file to a PDF file.
An HTML input can be provided either as a local zip archive or as a static HTML file with inline CSS. Alternatively, an HTML can also be specified via URL.
- While creating the corresponding Asset instance, the media type must be:
“application/zip”, if the input is a local zip archive.
“text/html”, if the input is a static HTML file with inline CSS
- In case the input is a local zip archive, it must have the following structure:
The main HTML file must be named “index.html”.
“index.html” must exist at the top level of zip archive, not in a folder.
Sample Usage:
file = open('SOURCE_PATH', 'rb') input_stream = file.read() file.close() credentials = ServicePrincipalCredentials( client_id=os.getenv('PDF_SERVICES_CLIENT_ID'), client_secret=os.getenv('PDF_SERVICES_CLIENT_SECRET') ) pdf_services = PDFServices(credentials=credentials) input_asset = pdf_services.upload(input_stream=input_stream, mime_type=MediaType.ZIP) page_layout = PageLayout(page_height=11.5, page_width=8) html_to_pdf_params = HTMLtoPDFParams(page_layout=page_layout, include_header_footer=True) html_to_pdf_job = HTMLtoPDFJob(input_asset=input_asset, html_to_pdf_params=html_to_pdf_params) location = pdf_services.submit(html_to_pdf_job) pdf_services_response = pdf_services.get_job_result(location, HTMLtoPDFResult) result_asset: CloudAsset = pdf_services_response.get_result().get_asset() stream_asset: StreamAsset = pdf_services.get_content(result_asset)
Constructs a new
HTMLtoPDFJob
.At least one of input_asset or input_url needs to be specified.
- Parameters:
input_asset (Asset) – Asset object containing the input file. (Optional, use key-value)
input_url (str) – String representing the input URL. (Optional, use key-value)
html_to_pdf_params (HTMLtoPDFParams) – HTMLToPDFParams}. (Optional, use key-value)
output_asset (Asset) – Asset object representing the output asset. (Optional, use key-value)
InsertPagesJob
- class adobe.pdfservices.operation.pdfjobs.jobs.insert_pages_job.InsertPagesJob(insert_pages_params: InsertPagesParams, *, output_asset: Asset | None = None)
Bases:
PDFServicesJob
A job that can be used to insert pages of multiple PDF files into a base PDF file.
For more complex use cases, refer the
CombinePDFJob
.Sample Usage:
base_file = open('SOURCE_PATH', 'rb') base_input_stream = base_file.read() base_file.close() file_to_insert = open('SOURCE_PATH_1', 'rb') input_stream_to_insert = file_to_insert.read() file_to_insert.close() credentials = ServicePrincipalCredentials( client_id=os.getenv('PDF_SERVICES_CLIENT_ID'), client_secret=os.getenv('PDF_SERVICES_CLIENT_SECRET') ) pdf_services = PDFServices(credentials=credentials) base_asset = pdf_services.upload(input_stream=base_input_stream, mime_type=MediaType.PDF) asset_to_insert = pdf_services.upload(input_stream=input_stream_to_insert, mime_type=MediaType.PDF) page_ranges = PageRanges().add_range(1, 3) insert_pages_params = InsertPagesParams(base_asset=base_asset) insert_pages_params.add_pages_to_insert(input_asset=asset_to_insert, page_ranges=page_ranges, base_page=2) insert_pages_job = InsertPagesJob(insert_pages_params=insert_pages_params) location = pdf_services.submit(insert_pages_job) pdf_services_response = pdf_services.get_job_result(location, InsertPagesResult) result_asset: CloudAsset = pdf_services_response.get_result().get_asset() stream_asset: StreamAsset = pdf_services.get_content(result_asset)
Constructs a new
InsertPagesPDFJob
instance.- Parameters:
insert_pages_params (InsertPagesParams) – Object containing the input files and the page numbers to insert at; can not be None.
output_asset (Asset) – Object representing the output asset. (Optional, use key-value) External assets can be set as output only when input is external asset as well
LinearizePDFJob
- class adobe.pdfservices.operation.pdfjobs.jobs.linearize_pdf_job.LinearizePDFJob(input_asset: Asset, *, output_asset: Asset | None = None)
Bases:
PDFServicesJob
A job that converts a PDF file into a linearized (also known as “web optimized”) PDF file. Such PDF files are optimized for incremental access in network environments.
Sample Usage:
file = open('SOURCE_PATH', 'rb') input_stream = file.read() file.close() credentials = ServicePrincipalCredentials( client_id=os.getenv('PDF_SERVICES_CLIENT_ID'), client_secret=os.getenv('PDF_SERVICES_CLIENT_SECRET') ) pdf_services = PDFServices(credentials=credentials) input_asset = pdf_services.upload(input_stream=input_stream, mime_type=MediaType.PDF) linearize_pdf_job = LinearizePDFJob(input_asset=input_asset) location = pdf_services.submit(linearize_pdf_job) pdf_services_response = pdf_services.get_job_result(location, LinearizePDFResult) result_asset: CloudAsset = pdf_services_response.get_result().get_asset() stream_asset: StreamAsset = pdf_services.get_content(result_asset)
Constructs a new
LinearizePDFJob
instance.- Parameters:
input_asset (Asset) – Asset object containing the input file; can not be None.
output_asset (ExternalAsset) – Asset object representing the output asset. (Optional, use key-value)
OCRPDFJob
- class adobe.pdfservices.operation.pdfjobs.jobs.ocr_pdf_job.OCRPDFJob(input_asset: Asset, *, ocr_pdf_params: OCRParams | None = None, output_asset: Asset | None = None)
Bases:
PDFServicesJob
A job that convert a PDF file into a searchable PDF file. Allows specifying OCRSupportedLocale and OCR Type.
Sample Usage:
file = open('SOURCE_PATH', 'rb') input_stream = file.read() file.close() credentials = ServicePrincipalCredentials( client_id=os.getenv('PDF_SERVICES_CLIENT_ID'), client_secret=os.getenv('PDF_SERVICES_CLIENT_SECRET') ) pdf_services = PDFServices(credentials=credentials) input_asset = pdf_services.upload(input_stream=input_stream, mime_type=MediaType.PDF) ocr_pdf_job = OCRPDFJob(input_asset=input_asset) location = pdf_services.submit(ocr_pdf_job) pdf_services_response = pdf_services.get_job_result(location, OCRPDFResult) result_asset: CloudAsset = pdf_services_response.get_result().get_asset() stream_asset: StreamAsset = pdf_services.get_content(result_asset)
Constructs a new
OCRPDFJob
instance.- Parameters:
input_asset (Asset) – Asset object containing the input file; can not be None.
ocr_pdf_params (OCRParams) – OCRParams} object containing the OCR parameters. (Optional, use key-value)
output_asset (ExternalAsset) – Asset object representing the output asset. (Optional, use key-value)
PDFPropertiesJob
- class adobe.pdfservices.operation.pdfjobs.jobs.pdf_properties_job.PDFPropertiesJob(input_asset: Asset, *, pdf_properties_params: PDFPropertiesParams | None = None)
Bases:
PDFServicesJob
A job that is used to fetch properties from an input PDF file. The properties are returned in a dict.
Sample Usage:
file = open('SOURCE_PATH', 'rb') input_stream = file.read() file.close() credentials = ServicePrincipalCredentials( client_id=os.getenv('PDF_SERVICES_CLIENT_ID'), client_secret=os.getenv('PDF_SERVICES_CLIENT_SECRET') ) pdf_services = PDFServices(credentials=credentials) input_asset = pdf_services.upload(input_stream=input_stream, mime_type=MediaType.PDF) pdf_properties_params = PDFPropertiesParams(include_page_level_properties=True) pdf_properties_job = PDFPropertiesJob(input_asset=input_asset, pdf_properties_params=pdf_properties_params) location = pdf_services.submit(pdf_properties_job) pdf_services_response = pdf_services.get_job_result(location, PDFPropertiesResult) pdf_properties_result = pdf_services_response.get_result()
Constructs a new
PDFPropertiesJob
instance.- Parameters:
input_asset (Asset) – Asset object containing the input file; can not be None.
pdf_properties_params (PDFPropertiesParams) – PDFPropertiesParams object containing the properties to be fetched. (Optional, use key-value)
output_asset (ExternalAsset) – Asset object representing the output asset. (Optional, use key-value)
ProtectPDFJob
- class adobe.pdfservices.operation.pdfjobs.jobs.protect_pdf_job.ProtectPDFJob(input_asset: Asset, protect_pdf_params: PasswordProtectParams, *, output_asset: Asset | None = None)
Bases:
PDFServicesJob
A job that is used for securing PDF document with password(s). The password(s) is used for encrypting the PDF document and setting the restriction on certain features like printing, editing and copying in the PDF document.
The supported algorithm for encrypting the PDF document are listed here. The EncryptionAlgorithm enum can be used to set the encryption algorithm.
AES-128
AES-256
For AES-128 encryption the password supports LATIN-I characters only. For AES-256 encryption the password supports Unicode character set.
Sample Usage:
file = open('SOURCE_PATH', 'rb') input_stream = file.read() file.close() credentials = ServicePrincipalCredentials( client_id=os.getenv('PDF_SERVICES_CLIENT_ID'), client_secret=os.getenv('PDF_SERVICES_CLIENT_SECRET') ) pdf_services = PDFServices(credentials=credentials) input_asset = pdf_services.upload(input_stream=input_stream, mime_type=MediaType.PDF) protect_pdf_params = PasswordProtectParams( user_password='password', encryption_algorithm=EncryptionAlgorithm.AES_256, content_encryption=ContentEncryption.ALL_CONTENT, ) protect_pdf_job = ProtectPDFJob(input_asset=input_asset, protect_pdf_params=protect_pdf_params) location = pdf_services.submit(protect_pdf_job) pdf_services_response = pdf_services.get_job_result(location, ProtectPDFResult) result_asset: CloudAsset = pdf_services_response.get_result().get_asset() stream_asset: StreamAsset = pdf_services.get_content(result_asset)
Constructs a new
ProtectPDFJob
instance.- Parameters:
input_asset (Asset) – Asset object containing the input file; can not be None.
protect_pdf_params (PasswordProtectParams) – ProtectPDFParams object containing the protect PDF parameters; can not be None.
output_asset (ExternalAsset) – Asset object representing the output asset. (Optional, use key-value)
RemoveProtectionJob
- class adobe.pdfservices.operation.pdfjobs.jobs.remove_protection_job.RemoveProtectionJob(input_asset: Asset, remove_protection_params: RemoveProtectionParams, output_asset: Asset | None = None)
Bases:
PDFServicesJob
A job that allows to remove password security from a PDF document.
Sample usage.
file = open('SOURCE_PATH', 'rb') input_stream = file.read() file.close() credentials = ServicePrincipalCredentials( client_id=os.getenv('PDF_SERVICES_CLIENT_ID'), client_secret=os.getenv('PDF_SERVICES_CLIENT_SECRET') ) pdf_services = PDFServices(credentials=credentials) input_asset = pdf_services.upload(input_stream=input_stream, mime_type=MediaType.PDF) remove_protection_params = RemoveProtectionParams(password="password") remove_protection_job = RemoveProtectionJob(input_asset=input_asset, remove_protection_params=remove_protection_params) location = pdf_services.submit(remove_protection_job) pdf_services_response = pdf_services.get_job_result(location, RemoveProtectionResult) result_asset: CloudAsset = pdf_services_response.get_result().get_asset() stream_asset: StreamAsset = pdf_services.get_content(result_asset)
Constructs a new
RemoveProtectionJob
instance.- Parameters:
input_asset (Asset) – The input asset for the job. (Mandatory, use key-value)
remove_protection_params (RemoveProtectionParams) – RemoveProtectionParams to set; can not be None.
output_asset (ExternalAsset) – The output asset for the job. (Optional, use key-value)
- Returns:
A new instance of RemoveProtectionJob.
- Return type:
ReorderPagesJob
- class adobe.pdfservices.operation.pdfjobs.jobs.reorder_pages_job.ReorderPagesJob(reorder_pages_params: ReorderPagesParams, *, output_asset: Asset | None = None)
Bases:
PDFServicesJob
A job that allows to rearrange pages in a PDF file according to the specified order.
Sample usage.
file = open('SOURCE_PATH', 'rb') input_stream = file.read() file.close() credentials = ServicePrincipalCredentials( client_id=os.getenv('PDF_SERVICES_CLIENT_ID'), client_secret=os.getenv('PDF_SERVICES_CLIENT_SECRET') ) pdf_services = PDFServices(credentials=credentials) input_asset = pdf_services.upload(input_stream=input_stream, mime_type=MediaType.PDF) pages_to_reorder = PageRanges().add_range(3, 4) .add_single_page(1) reorder_pages_params = ReorderPagesParams(asset=input_asset, page_ranges=pages_to_reorder) reorder_pages_job = ReorderPagesJob(reorder_pages_params=reorder_pages_params) location = pdf_services.submit(reorder_pages_job) pdf_services_response = pdf_services.get_job_result(location, ReorderPagesResult) result_asset: CloudAsset = pdf_services_response.get_result().get_asset() stream_asset: StreamAsset = pdf_services.get_content(result_asset)
Constructs a new
ReorderPagesJob
instance.- Parameters:
reorder_pages_params (ReorderPagesParams) – ReorderPagesParams to set; can not be None.
output_asset (ExternalAsset) – The output asset for the job. (Optional, use key-value)
- Returns:
A new instance of ReorderPagesJob.
- Return type:
ReplacePagesJob
- class adobe.pdfservices.operation.pdfjobs.jobs.replace_pages_job.ReplacePagesJob(replace_pages_params: ReplacePagesParams, *, output_asset: Asset | None = None)
Bases:
PDFServicesJob
A job that allows specific pages in a PDF file to be replaced with pages from multiple PDF files.
Sample usage.
base_file = open('SOURCE_PATH', 'rb') base_input_stream = base_file.read() base_file.close() file_1 = open('SOURCE_PATH', 'rb') input_stream_1 = file_1.read() file_1.close() file_2 = open('SOURCE_PATH', 'rb') input_stream_2 = file_2.read() file_2.close() credentials = ServicePrincipalCredentials( client_id=os.getenv('PDF_SERVICES_CLIENT_ID'), client_secret=os.getenv('PDF_SERVICES_CLIENT_SECRET') ) pdf_services = PDFServices(credentials=credentials) base_asset = pdf_services.upload(input_stream=base_input_stream, mime_type=MediaType.PDF) asset_1 = pdf_services.upload(input_stream=input_stream_1, mime_type=MediaType.PDF) asset_2 = pdf_services.upload(input_stream=input_stream_2, mime_type=MediaType.PDF) page_ranges = PageRanges().add_range(3, 4) .add_single_page(1) replace_pages_params = ReplacePagesParams(base_asset=base_asset) replace_pages_params.add_pages_to_replace(input_asset=asset_1, page_ranges=page_ranges, base_page=1) replace_pages_params.add_pages_to_replace(input_asset=asset_2, base_page=3) replace_pages_job = ReplacePagesJob(replace_pages_params=replace_pages_params) location = pdf_services.submit(replace_pages_job) pdf_services_response = pdf_services.get_job_result(location, ReplacePagesResult) result_asset: CloudAsset = pdf_services_response.get_result().get_asset() stream_asset: StreamAsset = pdf_services.get_content(result_asset)
Constructs a new
ReplacePagesJob
instance.- Parameters:
replace_pages_params (ReplacePagesParams) – ReplacePagesParams to set; can not be None.
output_asset (ExternalAsset) – The output asset for the job. (Optional, use key-value)
- Returns:
A new instance of ReplacePagesJob.
- Return type:
RotatePagesJob
- class adobe.pdfservices.operation.pdfjobs.jobs.rotate_pages_job.RotatePagesJob(input_asset: Asset, rotate_pages_params: RotatePagesParams, *, output_asset: Asset | None = None)
Bases:
PDFServicesJob
A job that allows rotation of specific pages in a PDF file.
Sample Usage:
file = open('SOURCE_PATH', 'rb') input_stream = file.read() file.close() credentials = ServicePrincipalCredentials( client_id=os.getenv('PDF_SERVICES_CLIENT_ID'), client_secret=os.getenv('PDF_SERVICES_CLIENT_SECRET') ) pdf_services = PDFServices(credentials=credentials) input_asset = pdf_services.upload(input_stream=input_stream, mime_type=MediaType.PDF) rotate_pages_params = RotatePagesParams() rotate_pages_params.add_angle_to_rotate(angle=Angle.ANGLE_90) reorder_pages_job = RotatePagesJob(input_asset=input_asset, rotate_pages_params=rotate_pages_params) location = pdf_services.submit(reorder_pages_job) pdf_services_response = pdf_services.get_job_result(location, RotatePagesResult) result_asset: CloudAsset = pdf_services_response.get_result().get_asset() stream_asset: StreamAsset = pdf_services.get_content(result_asset)
Constructs a new
RotatePagesJob
instance.- Parameters:
input_asset (Asset) – The input asset for the job; can not be None.
rotate_pages_params (RotatePagesParams) – RotatePagesParams} object containing the rotation angle and page ranges; can not be None.
output_asset (ExternalAsset) – The output asset for the job. (Optional, use key-value)
SplitPDFJob
- class adobe.pdfservices.operation.pdfjobs.jobs.split_pdf_job.SplitPDFJob(input_asset: Asset, split_pdf_params: SplitPDFParams, *, output_asset: Asset | None = None)
Bases:
PDFServicesJob
A job that splits PDF document into multiple smaller documents by simply specifying either the number of files, pages per file, or page ranges.
Sample usage.
file = open('SOURCE_PATH', 'rb') base_input_stream = base_file.read() file.close() credentials = ServicePrincipalCredentials( client_id=os.getenv('PDF_SERVICES_CLIENT_ID'), client_secret=os.getenv('PDF_SERVICES_CLIENT_SECRET') ) pdf_services = PDFServices(credentials=credentials) input_asset = pdf_services.upload(input_stream=input_stream, mime_type=MediaType.PDF) split_pdf_params = SplitPDFParams(page_count=2) split_pdf_job = SplitPDFJob(input_asset, split_pdf_params) location = pdf_services.submit(split_pdf_job) pdf_services_response = pdf_services.get_job_result(location, SplitPDFResult) result_assets = pdf_services_response.get_result().get_assets()
Constructs a new
SplitPDFJob
instance.- Parameters:
input_asset (Asset) – The input asset for the job; can not be None.
split_pdf_params (SplitPDFParams) – SplitPDFParams to set; can not be None.
output_asset (ExternalAsset) – The output asset for the job. (Optional, use key-value)
- Returns:
A new instance of SplitPDFJob.
- Return type:
PDFWatermarkJob
- class adobe.pdfservices.operation.pdfjobs.jobs.pdf_watermark_job.PDFWatermarkJob(input_asset: Asset, watermark_asset: Asset, *, pdf_watermark_params: PDFWatermarkParams | None = None, output_asset: Asset | None = None)
Bases:
PDFServicesJob
PDF Watermark API will add a watermark on specified pages of PDF document using a source watermark PDF. The first page of source watermark PDF will be added as a watermark in input PDF document.
Sample usage.
pdf_file = open('SOURCE_PATH', 'rb') input_stream = pdf_file.read() pdf_file.close() pdf_file = open('SOURCE_PATH', 'rb') watermark_asset = pdf_file.read() watermark_asset.close() credentials = ServicePrincipalCredentials( client_id=os.getenv('PDF_SERVICES_CLIENT_ID'), client_secret=os.getenv('PDF_SERVICES_CLIENT_SECRET') ) pdf_services = PDFServices(credentials=credentials) input_asset = pdf_services.upload(input_stream=input_stream, mime_type=PDFServicesMediaType.PDF) watermark_asset = pdf_services.upload(input_stream=watermark_asset, mime_type=PDFServicesMediaType.PDF) watermark_appearance = WatermarkAppearance(appear_on_foreground=True, opacity=100) page_ranges = PageRanges() page_ranges.add_range(1, 4) # Create parameters for the job pdf_watermark_params = PDFWatermarkParams(page_ranges=page_ranges, watermark_appearance=watermark_appearance) # Creates a new job instance pdf_watermark_job = PDFWatermarkJob(input_asset=input_asset, watermark_asset=watermark_asset, pdf_watermark_params=pdf_watermark_params) location = pdf_services.submit(pdf_watermark_job) pdf_services_response = pdf_services.get_job_result(location, PDFWatermarkResult) pdf_watermark_result: CloudAsset = pdf_services_response.get_result().get_asset() stream_asset: StreamAsset = pdf_services.get_content(pdf_watermark_result)
Constructs a new
PDFWatermarkJob
instance.- Parameters:
input_asset (Asset) – The input asset for the job; can not be None.
watermark_asset (Asset) – The watermark asset for the job; can not be None.
pdf_watermark_params (PDFWatermarkParams) – Parameters for water mark (Optional, use key-value)
output_asset (ExternalAsset) – The output asset for the job. (Optional, use key-value)
- Returns:
A new instance of PDFWatermarkJob.
- Return type:
PDFAccessibilityCheckerJob
- class adobe.pdfservices.operation.pdfjobs.jobs.pdf_accessibility_checker_job.PDFAccessibilityCheckerJob(input_asset: Asset, *, pdf_accessibility_checker_params: PDFAccessibilityCheckerParams | None = None, output_asset: Asset | None = None)
Bases:
PDFServicesJob
Accessibility Checker API will check PDF files to see if they meet the machine-verifiable requirements of PDF/UA and WCAG 2.0. It will generate a report that summarizes the findings of the accessibility checks. Additional human remediation may be required to ensure that the reading order of elements is correct and that alternative text tags properly convey the meaning of an image.
The report contains links to documentation that assist in manually fixing problems using Adobe Acrobat Pro.
Sample usage.
file = open('SOURCE_PATH', 'rb') input_stream = file.read() file.close() credentials = ServicePrincipalCredentials( client_id=os.getenv('PDF_SERVICES_CLIENT_ID'), client_secret=os.getenv('PDF_SERVICES_CLIENT_SECRET') ) pdf_services = PDFServices(credentials=credentials) input_asset = pdf_services.upload(input_stream=input_stream, mime_type=MediaType.PDF) pdf_accessibility_checker_job = PDFAccessibilityCheckerJob(input_asset) location = pdf_services.submit(pdf_accessibility_checker_job) pdf_services_response = pdf_services.get_job_result(location, PDFAccessibilityCheckerResult) result_asset: CloudAsset = pdf_services_response.get_result().get_asset() stream_asset: StreamAsset = pdf_services.get_content(result_asset) report_asset: CloudAsset = pdf_services_response.get_result().get_report() stream_report: StreamAsset = pdf_services.get_content(report_asset)
Constructs a new instance of
PDFAccessibilityCheckerJob
.- Parameters:
input_asset (Asset) – The input asset for the job; can not be None.
pdf_accessibility_checker_params (PDFAccessibilityCheckerParams) – PDFAccessibilityCheckerParams to set.(Optional, use key-value)
output_asset (ExternalAsset) – The output asset for the job. (Optional, use key-value)
- Returns:
A new instance of PDFAccessibilityCheckerJob
- Return type: