All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.adobe.pdfservices.operation.internal.dto.request.htmltopdf.HTMLToPDFExternalAssetRequest Maven / Gradle / Ivy

Go to download

Adobe PDF Services SDK allows you to access RESTful APIs to create, convert, and manipulate PDFs within your applications. Older versions can be found under groupId: com.adobe.documentservices, artifactId: pdftools-sdk

There is a newer version: 4.2.0
Show newest version
/*
 * Copyright 2019 Adobe
 * All Rights Reserved.
 *
 * NOTICE: Adobe permits you to use, modify, and distribute this file in
 * accordance with the terms of the Adobe license agreement accompanying
 * it. If you have received this file from a source other than Adobe,
 * then your use, modification, or distribution of it requires the prior
 * written permission of Adobe.
 */

package com.adobe.pdfservices.operation.internal.dto.request.htmltopdf;

import com.adobe.pdfservices.operation.config.notifier.NotifierConfig;
import com.adobe.pdfservices.operation.internal.dto.request.PlatformApiRequest;
import com.adobe.pdfservices.operation.io.ExternalAsset;
import com.adobe.pdfservices.operation.pdfjobs.params.htmltopdf.HTMLToPDFParams;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;

import java.util.List;
import java.util.Objects;

@JsonInclude(JsonInclude.Include.NON_NULL)
public class HTMLToPDFExternalAssetRequest implements PlatformApiRequest {

    @JsonProperty("input")
    private ExternalAsset inputExternalAsset;
    @JsonProperty("output")
    private ExternalAsset outputExternalAsset;

    @JsonProperty("params")
    private HTMLToPDFParamsPayload htmLtoPDFParamsPayload;

    @JsonProperty("notifiers")
    private List notifierConfigList;

    public HTMLToPDFExternalAssetRequest(ExternalAsset inputExternalAsset, HTMLToPDFParams htmLtoPDFParams,
                                         List notifierConfigList) {

        HTMLToPDFParamsPayload htmLtoPDFParamsPayload = new HTMLToPDFParamsPayload();
        this.inputExternalAsset = inputExternalAsset;
        this.notifierConfigList = notifierConfigList;
        this.htmLtoPDFParamsPayload = htmLtoPDFParamsPayload;

        if (htmLtoPDFParams != null) {
            Boolean includeHeaderFooter = htmLtoPDFParams.includesHeaderFooter();


            PageLayout pageLayout = Objects.nonNull(htmLtoPDFParams.getPageLayout()) ?
                                    new PageLayout(htmLtoPDFParams.getPageLayout()
                                                                                                              .getPageHeight(), htmLtoPDFParams.getPageLayout()
                                                                                                              .getPageWidth()) : null;

            String dataToMerge = Objects.nonNull(htmLtoPDFParams.getDataToMerge()) ? htmLtoPDFParams.getDataToMerge()
                    .toString() : null;

            this.htmLtoPDFParamsPayload.setDataToMerge(dataToMerge);
            this.htmLtoPDFParamsPayload.setPageLayout(pageLayout);
            this.htmLtoPDFParamsPayload.setIncludeHeaderFooter(includeHeaderFooter);
        }

    }

    public HTMLToPDFExternalAssetRequest setOutput(ExternalAsset outputExternalAsset) {
        this.outputExternalAsset = outputExternalAsset;
        return this;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy