Free up your developers from building dynamic PDF documents
Use the full power of Microsoft Word to streamline and improve your documents quality
Microsoft Word
Design with your favourite editor
Formats
Download it on PDF, PNG, HTML, TXT, SVG
Fast
Render your templates in less than 150 milliseconds
JSON
Our API merges your templates with JSON
HTML
Embed dynamic HTML in your documents
Privacy
We do not store the results in our system.
Try Docxmerge for free and see for yourself
We have examples where you can see the power of our API
Integrate Docxmerge
We believe that developers should focus their time on things that matter, not setting up yet another rendering library. Because we eliminate needless complexity and provide an up-to-date service, you can get up and running with Docxmerge in just a couple of minutes.
// 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
.renderUrl(
"http://docxmerge.com/static/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)
})
# 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)
<?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"
);
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}");
}
}
}
}
package com.docxmerge.prueba_sdk;
import com.docxmerge.Docxmerge;
import java.io.FileOutputStream;
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<String, Object>();
data.put("logo", "https://docxmerge.com/assets/android-chrome-512x512.png");
data.put("name", "James Bond");
byte[] bytes = docxmerge.renderUrl(
"http://docxmerge.com/static/hello_world.docx",
data,
"PDF"
);
FileOutputStream outputStream = new FileOutputStream("hello_world.pdf");
outputStream.write(bytes);
outputStream.close();
}
}
What our customers say
Always looking for better ways to do things, innovate and help people achieve their goals.
Testimonials
Don't trust us. See what our clients are saying about our product.
Pricing
Monthly fees
Plan | Documents | Max file size | Fee |
---|---|---|---|
Free plan | 50/M | 1MB | FREE |
DocxM05 | 500/M | 5MB | 9 $ |
DocxM5K | 5000/M | 10MB | 39 $ |
DocxM25k | 25000/M | 25MB | 99 $ |
DocxM50K | 50000/M | 50MB | 149 $ |
DocxM100K | 100000/M | 100MB | 249 $ |
DocxM250K | 250000/M | 250MB | 499 $ |
Need to convert millions of documents?
Do you have hundreds types of documents?
Do you want to migrate from an existing system?
Contact us and we will create a customized pricing plan tailored to your needs. If you have documents that you want to migrate, we will guide you in order to have 0 problems.
Send us a message
Subscribe for weekly documents
You will receive tutorials on new documents made with word