Api integration
Render a remote DOCX with JSON
You can get the file result having an URL with the DOCX and passing JSON as a paramter
# pip install docxmerge_sdk
# https://pypi.org/project/docxmerge-sdk/
from docxmerge_sdk import Docxmerge
docxmerge = Docxmerge("API_KEY", "default", "https://api.docxmerge.com")
pdf = docxmerge.render_url(
"http://docxmerge.com/static/hello_world.docx",
{
"logo": "https://docxmerge.com/assets/android-chrome-512x512.png",
"name": "James Bond"
},
"PDF"
)
open("./example-hello-world.pdf", "wb").write(pdf)
package com.docxmerge.prueba_sdk;
import com.docxmerge.Docxmerge;
import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.HashMap;
public class DocxmergeExample {
public static void main(String[] args) throws Exception {
Docxmerge docxmerge = new Docxmerge("API_KEY", "default", "https://api.docxmerge.com");
HashMap<String, Object> data = new HashMap<>();
data.put("name", "James Bond");
data.put("logo", "https://docxmerge.com/assets/android-chrome-512x512.png");
byte[] bytes = docxmerge.renderUrl("http://docxmerge.com/static/hello_world.docx", data, "PDF");
FileOutputStream outputStream = new FileOutputStream("./hello_world_java.pdf");
outputStream.write(bytes);
outputStream.close();
}
}
<?php
require_once('vendor/autoload.php');
// the package can be downloaded in
// https://packagist.org/packages/docxmerge/docxmerge-php
use Docxmerge\Docxmerge;
$docxmerge = new Docxmerge("API_KEY", "default", "https://api.docxmerge.com");
$fp = fopen("./hello_world_php.pdf", "w");
$docxmerge->renderUrl(
$fp,
"http://docxmerge.com/static/hello_world.docx",
array(
"name" => "James bond",
"logo" => "https://docxmerge.com/assets/android-chrome-512x512.png"
),
"PDF"
);
const Docxmerge = new require('docxmerge')
const fs = require('fs')
const docxmerge = new Docxmerge("API_KEY", "default")
docxmerge
.renderUrl(
"http://docxmerge.com/static/hello_world.docx",
{
logo: "https://docxmerge.com/assets/android-chrome-512x512.png",
name: "James Bond",
},
"PDF", // this can be PDF, PNG, HTML, SVG...
)
.then(stream => stream.pipe(fs.createWriteStream("./hello_world_nodejs.pdf")))
.catch(err => {
console.error(err)
})
package main
// package in github.com/docxmerge/docxmerge-go
import (
"bytes"
"github.com/docxmerge/docxmerge-go"
"io/ioutil"
"log"
)
func main() {
data := map[string]interface{}{
"name": "David Viejo",
"logo": "https://docxmerge.com/assets/android-chrome-512x512.png",
}
docxmerge := docxmerge_go.NewDocxmerge(docxmerge_go.DocxmergeOptions{
BaseUrl: "https://api.docxmerge.com",
ApiKey: "API_KEY",
Tenant: "default",
})
pdf, err := docxmerge.RenderUrl(
"http://docxmerge.com/static/hello_world.docx",
data,
"PDF",
)
if err != nil {
panic(err)
}
buf := new(bytes.Buffer)
_, err = buf.ReadFrom(pdf)
if err != nil {
panic(err)
}
output := "./hello_world_golang.pdf"
err = ioutil.WriteFile(output, buf.Bytes(), 0644)
if err != nil {
panic(err)
}
log.Printf("Check %s", output)
}
require "docxmerge"
# gem install docxmerge
# https://rubygems.org/gems/docxmerge
docxmerge = Docxmerge::Docxmerge.new("API_KEY", "default", "https://api.docxmerge.com")
response = docxmerge.render_url(
"http://docxmerge.com/static/hello_world.docx",
{
:logo => "https://docxmerge.com/assets/android-chrome-512x512.png",
:name => "James Bond",
},
"PDF"
)
file_output = "./hello_world_ruby.pdf"
f = File.open(file_output, "wb")
f << response
f.close
puts "Check #{file_output}"
using System.Collections.Generic;
using System.IO;
// can be download in https://nuget.org/packages/Docxmerge/
// dotnet add package docxmerge
namespace DocxmergeExample
{
class Program
{
static void Main(string[] args)
{
var docxmerge = new Docxmerge.Docxmerge("API_KEY", "default", "https://api.docxmerge.com");
var output = docxmerge.RenderUrl(
"http://docxmerge.com/static/hello_world.docx",
new Dictionary<string, object>{
{"name", "James Bond"},
{"logo", "https://docxmerge.com/assets/android-chrome-512x512.png"}
},
"PDF"
).Result;
using (var ms = new MemoryStream())
{
output.CopyTo(ms);
var outputFile = "./hello_world_dotnet.pdf";
File.WriteAllBytes(outputFile, ms.ToArray());
System.Console.WriteLine($"Check {outputFile}");
}
}
}
}
Render a local DOCX with JSON
# pip install docxmerge_sdk
# https://pypi.org/project/docxmerge-sdk/
from docxmerge_sdk import Docxmerge
docxmerge = Docxmerge("API_KEY", "default", "https://api.docxmerge.com")
pdf = docxmerge.render_file(
open("./hello_world.docx"),
{
"logo": "https://docxmerge.com/assets/android-chrome-512x512.png",
"name": "James Bond"
},
"PDF"
)
open("./example-file-hello-world.pdf", "wb").write(pdf)
package com.docxmerge.prueba_sdk;
import com.docxmerge.Docxmerge;
import java.io.FileOutputStream;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.HashMap;
public class DocxmergeExample {
public static void main(String[] args) throws Exception {
Docxmerge docxmerge = new Docxmerge("API_KEY", "default", "https://api.docxmerge.com");
HashMap<String, Object> data = new HashMap<>();
data.put("name", "James Bond");
data.put("logo", "https://docxmerge.com/assets/android-chrome-512x512.png");
byte[] docxBytes = Files.readAllBytes(Paths.get("./hello_world.docx"));
byte[] bytes = docxmerge.renderFile(docxBytes, data, "PDF");
FileOutputStream outputStream = new FileOutputStream("hello_world_java.pdf");
outputStream.write(bytes);
outputStream.close();
}
}
<?php
require_once('vendor/autoload.php');
use Docxmerge\Docxmerge;
$docxmerge = new Docxmerge("API_KEY");
$fp = fopen("./hello_world_php.pdf", "w");
$docxmerge->renderFile($fp, "../fixtures/hello_world.docx", array(
"name" => "James bond",
"logo" => "https://docxmerge.com/assets/android-chrome-512x512.png"
), "PDF");
// step 1, install docxmerge
// npm install docxmerge
// Step 2, import libraries
const Docxmerge = require("docxmerge") // npm i docxmerge
const fs = require("fs")
// Step 3, execute
const docxmerge = new Docxmerge("API_KEY", "default")
docxmerge
.renderFile(
fs.createReadStream("./hello_world.docx"),
{
logo: "https://docxmerge.com/assets/android-chrome-512x512.png",
name: "James Bond",
},
"PDF",
)
.then(stream => stream.pipe(fs.createWriteStream("./hello_world_nodejs.pdf")))
.catch(err => {
console.error(err)
})
package main
import (
"bytes"
docxmerge_go "github.com/docxmerge/docxmerge-go"
"io/ioutil"
"os"
)
func main() {
data := map[string]interface{}{
"name": "David Viejo",
"logo": "https://docxmerge.com/assets/android-chrome-512x512.png",
}
file := "./hello_world.docx"
docxmerge := docxmerge_go.NewDocxmerge(docxmerge_go.DocxmergeOptions{
BaseUrl: "https://api.docxmerge.com",
ApiKey: "API_KEY",
Tenant: "default",
})
f, err := os.Open(file)
if err != nil {
panic(err)
}
pdf, err := docxmerge.RenderFile(
f,
data,
"PDF",
)
if err != nil {
panic(err)
}
buf := new(bytes.Buffer)
_, err = buf.ReadFrom(pdf)
if err != nil {
panic(err)
}
output := "./hello_world_golang.pdf"
err = ioutil.WriteFile(output, buf.Bytes(), 0644)
if err != nil {
panic(err)
}
log.Printf("Check %s", output)
}
require "docxmerge"
docxmerge = Docxmerge::Docxmerge.new("API_KEY", "default")
response = docxmerge.render_file(
File.open("./hello_world.docx", "r"),
{
:logo => "https://docxmerge.com/assets/android-chrome-512x512.png",
:name => "James Bond",
},
"PDF"
)
file_output = "./hello_world_ruby_file.pdf"
f = File.open(file_output, "wb")
f << response
f.close
puts "Check #{file_output}"
using System.Collections.Generic;
using System.IO;
namespace DocxmergeExample
{
class Program
{
static void Main(string[] args)
{
var docxmerge = new Docxmerge.Docxmerge("API_KEY");
var input = File.OpenRead("./hello_world.docx");
var output = docxmerge.RenderFile(input, new Dictionary<string, object>{
{"name", "James Bond"},
{"logo", "https://docxmerge.com/assets/android-chrome-512x512.png"}
}, "PDF").Result;
using (var ms = new MemoryStream())
{
output.CopyTo(ms);
var outputFile = "./hello_world_file_dotnet.pdf";
File.WriteAllBytes(outputFile, ms.ToArray());
System.Console.WriteLine($"Check {outputFile}");
}
}
}
}
Render a template located in Docxmerge with JSON
# pip install docxmerge_sdk
# https://pypi.org/project/docxmerge-sdk/
from docxmerge_sdk import Docxmerge
docxmerge = Docxmerge("API_KEY", "default")
pdf = docxmerge.render_template(
"hello-world",
{
"logo": "https://docxmerge.com/assets/android-chrome-512x512.png",
"name": "James Bond"
},
"PDF",
"latest"
)
open("./example-hello-world-template.pdf", "wb").write(pdf)
package com.docxmerge.prueba_sdk;
import com.docxmerge.Docxmerge;
import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.HashMap;
public class DocxmergeExample {
public static void main(String[] args) throws Exception {
Docxmerge docxmerge = new Docxmerge("API_KEY", "default", "https://api.docxmerge.com");
HashMap<String, Object> data = new HashMap<>();
data.put("name", "James Bond");
data.put("logo", "https://docxmerge.com/assets/android-chrome-512x512.png");
byte[] bytes = docxmerge.renderTemplate(
"hello-world",
data,
"PDF",
"latest" // version, can be ommited, just for reference
);
FileOutputStream outputStream = new FileOutputStream("./hello_world_java.pdf");
outputStream.write(bytes);
outputStream.close();
}
}
<?php
require_once('vendor/autoload.php');
use Docxmerge\Docxmerge;
$docxmerge = new Docxmerge("API_KEY");
$fp = fopen("./hello_world_template_php.pdf", "w");
$docxmerge->renderTemplate(
$fp,
"hello-world",
array(
"name" => "James bond",
"logo" => "https://docxmerge.com/assets/android-chrome-512x512.png"
),
"PDF",
"latest" // version, can be ommited, just for reference
);
// step 1, install docxmerge
// npm install docxmerge
// Step 2, import libraries
const Docxmerge = require("docxmerge") // npm i docxmerge
const fs = require("fs")
// Step 3, execute
const docxmerge = new Docxmerge("API_KEY", "default")
docxmerge
.renderTemplate(
"hello-world",
{
logo: "https://docxmerge.com/assets/android-chrome-512x512.png",
name: "James Bond",
},
"PDF",
"latest" // version, can be ommited, just for reference
)
.then(stream => stream.pipe(fs.createWriteStream("./hello_world_nodejs.pdf")))
.catch(err => {
console.error(err)
})
package main
import (
"bytes"
docxmerge_go "github.com/docxmerge/docxmerge-go"
"io/ioutil"
"log"
)
func main() {
data := map[string]interface{}{
"name": "David Viejo",
"logo": "https://docxmerge.com/assets/android-chrome-512x512.png",
}
docxmerge := docxmerge_go.NewDocxmerge(docxmerge_go.DocxmergeOptions{
BaseUrl: "https://api.docxmerge.com",
ApiKey: "API_KEY",
Tenant: "default",
})
pdf, err := docxmerge.RenderTemplate(
"hello-world",
data,
"PDF",
"latest", // version, can be ommited, just for reference
)
if err != nil {
panic(err)
}
buf := new(bytes.Buffer)
_, err = buf.ReadFrom(pdf)
if err != nil {
panic(err)
}
output := "./hello_world_template_golang.pdf"
err = ioutil.WriteFile(output, buf.Bytes(), 0644)
if err != nil {
panic(err)
}
log.Printf("Check %s", output)
}
require "docxmerge"
docxmerge = Docxmerge::Docxmerge.new("API_KEY", "default", "https://api.docxmerge.com")
response = docxmerge.render_template(
"hello-world",
{
:logo => "https://docxmerge.com/assets/android-chrome-512x512.png",
:name => "James Bond",
},
"PDF",
"latest" # version, can be ommited, just for reference
)
file_output = "./hello_world_template_ruby.pdf"
f = File.open(file_output, "wb")
f << response
f.close
puts "Check #{file_output}"
using System.Collections.Generic;
using System.IO;
namespace DocxmergeExample
{
class Program
{
static void Main(string[] args)
{
var docxmerge = new Docxmerge.Docxmerge("API_KEY");
var output = docxmerge.RenderTemplate(
"hello-world",
new Dictionary<string, object>{
{"name", "James Bond"},
{"logo", "https://docxmerge.com/assets/android-chrome-512x512.png"}
},
"PDF",
"latest" // version, can be ommited, just for reference
).Result;
using (var ms = new MemoryStream())
{
output.CopyTo(ms);
var outputFile = "./hello_world_template_dotnet.pdf";
File.WriteAllBytes(outputFile, ms.ToArray());
System.Console.WriteLine($"Check {outputFile}");
}
}
}
}