
com.docxmerge.Docxmerge.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of api Show documentation
Show all versions of api Show documentation
Library for interacting with Docxmerge API
The newest version!
package com.docxmerge
import com.google.gson.Gson
import org.apache.http.client.fluent.Request
import org.apache.http.entity.ContentType
import org.apache.http.entity.mime.MultipartEntityBuilder
import java.io.Serializable
import com.google.gson.GsonBuilder
import java.util.HashMap
open class Docxmerge(
private var apiKey: String,
private var tenant: String = "default",
private var baseUrl: String = "https://api.docxmerge.com"
) {
fun renderTemplate(
templateName: String,
data: T,
conversionType: String,
version: String
): ByteArray {
val map = HashMap()
map["version"] = version
map["data"] = data
map["template"] = templateName
map["conversionType"] = conversionType
return Request.Post("${baseUrl}/api/v1/Admin/RenderTemplate")
.addHeader("api-key", apiKey)
.addHeader("x-tenant", tenant)
.addHeader("Content-type", "application/json")
.bodyString(gson.toJson(map), ContentType.APPLICATION_JSON)
.execute().returnContent().asBytes()
}
fun renderUrl(
url: String,
data: T,
conversionType: String
): ByteArray {
val map = HashMap()
map["data"] = data
map["url"] = url
map["conversionType"] = conversionType
return Request.Post("${baseUrl}/api/v1/Admin/RenderUrl")
.addHeader("api-key", apiKey)
.addHeader("x-tenant", tenant)
.addHeader("Content-type", "application/json")
.bodyString(gson.toJson(map), ContentType.APPLICATION_JSON)
.execute().returnContent().asBytes()
}
fun renderFile(
file: ByteArray,
data: T,
conversionType: String
): ByteArray {
val multipart = MultipartEntityBuilder.create()
.addBinaryBody("file", file, ContentType.APPLICATION_OCTET_STREAM, "file.docx")
.addTextBody("data", gson.toJson(data), ContentType.APPLICATION_JSON)
.addTextBody("conversionType", conversionType, ContentType.TEXT_PLAIN)
return Request.Post("${baseUrl}/api/v1/Admin/RenderFile")
.addHeader("api-key", apiKey)
.addHeader("x-tenant", tenant)
.body(multipart.build())
.execute().returnContent().asBytes()
}
companion object {
private val gson = Gson()
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy