PDF Converter API
PSPDFKit API is an HTTP API that lets you convert various document formats into PDF. Use our PDF conversion API to convert Word, Excel, PowerPoint, Image, and HTML files to PDF.
Convert from
Convert to
Office to PDF
Convert Word, Excel, and PowerPoint files to PDF with our Office to PDF API.
DOCX
DOC
XLSX
XLS
PPTX
PPT
Image to PDF
Use our image to PDF conversion API to convert JPG, PNG, and TIFF files to PDF.
PNG
JPG
TIFF
HTML to PDF
Convert HTML files to PDF documents with our HTML to PDF conversion API.
HTML
Try It Out
This example will convert your uploaded Word file to a PDF.
Add a File
Add a Word file named document.doc
to your project folder. You can also use our sample file.
The file name is case sensitive. Make sure the file name matches the file name in the sample code.
Run the Code
Copy the code and run it from the same folder you added the files to. For more information, see our language-specific getting started guides.
View the Results
Open
result.pdf
in your project folder to view the results.
curl -X POST https://api.pspdfkit.com/build \
-H "Authorization: Bearer your_api_key_here" \
-o result.pdf \
--fail \
-F document=@document.doc \
-F instructions='{
"parts": [
{
"file": "document"
}
]
}'
curl -X POST https://api.pspdfkit.com/build ^
-H "Authorization: Bearer your_api_key_here" ^
-o result.pdf ^
--fail ^
-F document=@document.doc ^
-F instructions="{\"parts\": [{\"file\": \"document\"}]}"
package com.example.pspdfkit;
import java.io.File;
import java.io.IOException;
import java.nio.file.FileSystems;
import java.nio.file.Files;
import java.nio.file.StandardCopyOption;
import org.json.JSONArray;
import org.json.JSONObject;
import okhttp3.MediaType;
import okhttp3.MultipartBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
public final class PspdfkitApiExample {
public static void main(final String[] args) throws IOException {
final RequestBody body = new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart(
"document",
"document.doc",
RequestBody.create(
new File("document.doc"),
MediaType.parse("application/msword")
)
)
.addFormDataPart(
"instructions",
new JSONObject()
.put("parts", new JSONArray()
.put(new JSONObject()
.put("file", "document")
)
).toString()
)
.build();
final Request request = new Request.Builder()
.url("https://api.pspdfkit.com/build")
.method("POST", body)
.addHeader("Authorization", "Bearer your_api_key_here")
.build();
final OkHttpClient client = new OkHttpClient()
.newBuilder()
.build();
final Response response = client.newCall(request).execute();
if (response.isSuccessful()) {
Files.copy(
response.body().byteStream(),
FileSystems.getDefault().getPath("result.pdf"),
StandardCopyOption.REPLACE_EXISTING
);
} else {
// Handle the error
throw new IOException(response.body().string());
}
}
}
using System;
using System.IO;
using System.Net;
using RestSharp;
namespace PspdfkitApiDemo
{
class Program
{
static void Main(string[] args)
{
var client = new RestClient("https://api.pspdfkit.com/build");
var request = new RestRequest(Method.POST)
.AddHeader("Authorization", "Bearer your_api_key_here")
.AddFile("document", "document.doc")
.AddParameter("instructions", new JsonObject
{
["parts"] = new JsonArray
{
new JsonObject
{
["file"] = "document"
}
}
}.ToString());
request.AdvancedResponseWriter = (responseStream, response) =>
{
if (response.StatusCode == HttpStatusCode.OK)
{
using (responseStream)
{
using var outputFileWriter = File.OpenWrite("result.pdf");
responseStream.CopyTo(outputFileWriter);
}
}
else
{
var responseStreamReader = new StreamReader(responseStream);
Console.Write(responseStreamReader.ReadToEnd());
}
};
client.Execute(request);
}
}
}
// This code requires Node.js. Do not run this code directly in a web browser.
const axios = require('axios')
const FormData = require('form-data')
const fs = require('fs')
const formData = new FormData()
formData.append('instructions', JSON.stringify({
parts: [
{
file: "document"
}
]
}))
formData.append('document', fs.createReadStream('document.doc'))
;(async () => {
try {
const response = await axios.post('https://api.pspdfkit.com/build', formData, {
headers: formData.getHeaders({
'Authorization': 'Bearer your_api_key_here'
}),
responseType: "stream"
})
response.data.pipe(fs.createWriteStream("result.pdf"))
} catch (e) {
const errorString = await streamToString(e.response.data)
console.log(errorString)
}
})()
function streamToString(stream) {
const chunks = []
return new Promise((resolve, reject) => {
stream.on("data", (chunk) => chunks.push(Buffer.from(chunk)))
stream.on("error", (err) => reject(err))
stream.on("end", () => resolve(Buffer.concat(chunks).toString("utf8")))
})
}
import requests
import json
instructions = {
'parts': [
{
'file': 'document'
}
]
}
response = requests.request(
'POST',
'https://api.pspdfkit.com/build',
headers = {
'Authorization': 'Bearer your_api_key_here'
},
files = {
'document': open('document.doc', 'rb')
},
data = {
'instructions': json.dumps(instructions)
},
stream = True
)
if response.ok:
with open('result.pdf', 'wb') as fd:
for chunk in response.iter_content(chunk_size=8096):
fd.write(chunk)
else:
print(response.text)
exit()
<?php
$FileHandle = fopen('result.pdf', 'w+');
$curl = curl_init();
$instructions = '{
"parts": [
{
"file": "document"
}
]
}';
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.pspdfkit.com/build',
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_POSTFIELDS => array(
'instructions' => $instructions,
'document' => new CURLFILE('document.doc')
),
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer your_api_key_here'
),
CURLOPT_FILE => $FileHandle,
));
$response = curl_exec($curl);
curl_close($curl);
fclose($FileHandle);
Your API Key
Get access to your API key when you create an account. Once your account has been created, you’ll be able to process 100 documents per month for free using any of our API tools.
Your API key has automatically been inserted into the API example code. Run the sample code in your terminal to execute the API call.
Try It Out
This example will convert your uploaded Word file to a PDF.
Add a File
Add a Word file named document.docx
to your project folder. You can also use our sample file.
The file name is case sensitive. Make sure the file name matches the file name in the sample code.
Run the Code
Copy the code and run it from the same folder you added the files to. For more information, see our language-specific getting started guides.
View the Results
Open
result.pdf
in your project folder to view the results.
curl -X POST https://api.pspdfkit.com/build \
-H "Authorization: Bearer your_api_key_here" \
-o result.pdf \
--fail \
-F document=@document.docx \
-F instructions='{
"parts": [
{
"file": "document"
}
]
}'
curl -X POST https://api.pspdfkit.com/build ^
-H "Authorization: Bearer your_api_key_here" ^
-o result.pdf ^
--fail ^
-F document=@document.docx ^
-F instructions="{\"parts\": [{\"file\": \"document\"}]}"
package com.example.pspdfkit;
import java.io.File;
import java.io.IOException;
import java.nio.file.FileSystems;
import java.nio.file.Files;
import java.nio.file.StandardCopyOption;
import org.json.JSONArray;
import org.json.JSONObject;
import okhttp3.MediaType;
import okhttp3.MultipartBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
public final class PspdfkitApiExample {
public static void main(final String[] args) throws IOException {
final RequestBody body = new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart(
"document",
"document.docx",
RequestBody.create(
new File("document.docx"),
MediaType.parse("application/vnd.openxmlformats-officedocument.wordprocessingml.document")
)
)
.addFormDataPart(
"instructions",
new JSONObject()
.put("parts", new JSONArray()
.put(new JSONObject()
.put("file", "document")
)
).toString()
)
.build();
final Request request = new Request.Builder()
.url("https://api.pspdfkit.com/build")
.method("POST", body)
.addHeader("Authorization", "Bearer your_api_key_here")
.build();
final OkHttpClient client = new OkHttpClient()
.newBuilder()
.build();
final Response response = client.newCall(request).execute();
if (response.isSuccessful()) {
Files.copy(
response.body().byteStream(),
FileSystems.getDefault().getPath("result.pdf"),
StandardCopyOption.REPLACE_EXISTING
);
} else {
// Handle the error
throw new IOException(response.body().string());
}
}
}
using System;
using System.IO;
using System.Net;
using RestSharp;
namespace PspdfkitApiDemo
{
class Program
{
static void Main(string[] args)
{
var client = new RestClient("https://api.pspdfkit.com/build");
var request = new RestRequest(Method.POST)
.AddHeader("Authorization", "Bearer your_api_key_here")
.AddFile("document", "document.docx")
.AddParameter("instructions", new JsonObject
{
["parts"] = new JsonArray
{
new JsonObject
{
["file"] = "document"
}
}
}.ToString());
request.AdvancedResponseWriter = (responseStream, response) =>
{
if (response.StatusCode == HttpStatusCode.OK)
{
using (responseStream)
{
using var outputFileWriter = File.OpenWrite("result.pdf");
responseStream.CopyTo(outputFileWriter);
}
}
else
{
var responseStreamReader = new StreamReader(responseStream);
Console.Write(responseStreamReader.ReadToEnd());
}
};
client.Execute(request);
}
}
}
// This code requires Node.js. Do not run this code directly in a web browser.
const axios = require('axios')
const FormData = require('form-data')
const fs = require('fs')
const formData = new FormData()
formData.append('instructions', JSON.stringify({
parts: [
{
file: "document"
}
]
}))
formData.append('document', fs.createReadStream('document.docx'))
;(async () => {
try {
const response = await axios.post('https://api.pspdfkit.com/build', formData, {
headers: formData.getHeaders({
'Authorization': 'Bearer your_api_key_here'
}),
responseType: "stream"
})
response.data.pipe(fs.createWriteStream("result.pdf"))
} catch (e) {
const errorString = await streamToString(e.response.data)
console.log(errorString)
}
})()
function streamToString(stream) {
const chunks = []
return new Promise((resolve, reject) => {
stream.on("data", (chunk) => chunks.push(Buffer.from(chunk)))
stream.on("error", (err) => reject(err))
stream.on("end", () => resolve(Buffer.concat(chunks).toString("utf8")))
})
}
import requests
import json
instructions = {
'parts': [
{
'file': 'document'
}
]
}
response = requests.request(
'POST',
'https://api.pspdfkit.com/build',
headers = {
'Authorization': 'Bearer your_api_key_here'
},
files = {
'document': open('document.docx', 'rb')
},
data = {
'instructions': json.dumps(instructions)
},
stream = True
)
if response.ok:
with open('result.pdf', 'wb') as fd:
for chunk in response.iter_content(chunk_size=8096):
fd.write(chunk)
else:
print(response.text)
exit()
<?php
$FileHandle = fopen('result.pdf', 'w+');
$curl = curl_init();
$instructions = '{
"parts": [
{
"file": "document"
}
]
}';
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.pspdfkit.com/build',
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_POSTFIELDS => array(
'instructions' => $instructions,
'document' => new CURLFILE('document.docx')
),
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer your_api_key_here'
),
CURLOPT_FILE => $FileHandle,
));
$response = curl_exec($curl);
curl_close($curl);
fclose($FileHandle);
Your API Key
Get access to your API key when you create an account. Once your account has been created, you’ll be able to process 100 documents per month for free using any of our API tools.
Your API key has automatically been inserted into the API example code. Run the sample code in your terminal to execute the API call.
Try It Out
This example will create a PDF from the supplied index.html
file and render it on an A4-sized page. For detailed information on how to structure your HTML files, along with all the available customization options, see here.
Add a File
Add an HTML file named index.html
to your project folder. You can also use our sample file.
The file name is case sensitive. Make sure the file name matches the file name in the sample code.
Run the Code
Copy the code and run it from the same folder you added the files to. For more information, see our language-specific getting started guides.
View the Results
Open
result.pdf
in your project folder to view the results.
curl -X POST https://api.pspdfkit.com/build \
-H "Authorization: Bearer your_api_key_here" \
-o result.pdf \
--fail \
-F index.html=@index.html \
-F instructions='{
"parts": [
{
"html": "index.html"
}
]
}'
curl -X POST https://api.pspdfkit.com/build ^
-H "Authorization: Bearer your_api_key_here" ^
-o result.pdf ^
--fail ^
-F index.html=@index.html ^
-F instructions="{\"parts\": [{\"html\": \"index.html\"}]}"
package com.example.pspdfkit;
import java.io.File;
import java.io.IOException;
import java.nio.file.FileSystems;
import java.nio.file.Files;
import java.nio.file.StandardCopyOption;
import org.json.JSONArray;
import org.json.JSONObject;
import okhttp3.MediaType;
import okhttp3.MultipartBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
public final class PspdfkitApiExample {
public static void main(final String[] args) throws IOException {
final RequestBody body = new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart(
"index.html",
"index.html",
RequestBody.create(
new File("index.html"),
MediaType.parse("text/html")
)
)
.addFormDataPart(
"instructions",
new JSONObject()
.put("parts", new JSONArray()
.put(new JSONObject()
.put("html", "index.html")
)
).toString()
)
.build();
final Request request = new Request.Builder()
.url("https://api.pspdfkit.com/build")
.method("POST", body)
.addHeader("Authorization", "Bearer your_api_key_here")
.build();
final OkHttpClient client = new OkHttpClient()
.newBuilder()
.build();
final Response response = client.newCall(request).execute();
if (response.isSuccessful()) {
Files.copy(
response.body().byteStream(),
FileSystems.getDefault().getPath("result.pdf"),
StandardCopyOption.REPLACE_EXISTING
);
} else {
// Handle the error
throw new IOException(response.body().string());
}
}
}
using System;
using System.IO;
using System.Net;
using RestSharp;
namespace PspdfkitApiDemo
{
class Program
{
static void Main(string[] args)
{
var client = new RestClient("https://api.pspdfkit.com/build");
var request = new RestRequest(Method.POST)
.AddHeader("Authorization", "Bearer your_api_key_here")
.AddFile("index.html", "index.html")
.AddParameter("instructions", new JsonObject
{
["parts"] = new JsonArray
{
new JsonObject
{
["html"] = "index.html"
}
}
}.ToString());
request.AdvancedResponseWriter = (responseStream, response) =>
{
if (response.StatusCode == HttpStatusCode.OK)
{
using (responseStream)
{
using var outputFileWriter = File.OpenWrite("result.pdf");
responseStream.CopyTo(outputFileWriter);
}
}
else
{
var responseStreamReader = new StreamReader(responseStream);
Console.Write(responseStreamReader.ReadToEnd());
}
};
client.Execute(request);
}
}
}
// This code requires Node.js. Do not run this code directly in a web browser.
const axios = require('axios')
const FormData = require('form-data')
const fs = require('fs')
const formData = new FormData()
formData.append('instructions', JSON.stringify({
parts: [
{
html: "index.html"
}
]
}))
formData.append('index.html', fs.createReadStream('index.html'))
;(async () => {
try {
const response = await axios.post('https://api.pspdfkit.com/build', formData, {
headers: formData.getHeaders({
'Authorization': 'Bearer your_api_key_here'
}),
responseType: "stream"
})
response.data.pipe(fs.createWriteStream("result.pdf"))
} catch (e) {
const errorString = await streamToString(e.response.data)
console.log(errorString)
}
})()
function streamToString(stream) {
const chunks = []
return new Promise((resolve, reject) => {
stream.on("data", (chunk) => chunks.push(Buffer.from(chunk)))
stream.on("error", (err) => reject(err))
stream.on("end", () => resolve(Buffer.concat(chunks).toString("utf8")))
})
}
import requests
import json
instructions = {
'parts': [
{
'html': 'index.html'
}
]
}
response = requests.request(
'POST',
'https://api.pspdfkit.com/build',
headers = {
'Authorization': 'Bearer your_api_key_here'
},
files = {
'index.html': open('index.html', 'rb')
},
data = {
'instructions': json.dumps(instructions)
},
stream = True
)
if response.ok:
with open('result.pdf', 'wb') as fd:
for chunk in response.iter_content(chunk_size=8096):
fd.write(chunk)
else:
print(response.text)
exit()
<?php
$FileHandle = fopen('result.pdf', 'w+');
$curl = curl_init();
$instructions = '{
"parts": [
{
"html": "index.html"
}
]
}';
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.pspdfkit.com/build',
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_POSTFIELDS => array(
'instructions' => $instructions,
'index.html' => new CURLFILE('index.html')
),
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer your_api_key_here'
),
CURLOPT_FILE => $FileHandle,
));
$response = curl_exec($curl);
curl_close($curl);
fclose($FileHandle);
Your API Key
Get access to your API key when you create an account. Once your account has been created, you’ll be able to process 100 documents per month for free using any of our API tools.
Your API key has automatically been inserted into the API example code. Run the sample code in your terminal to execute the API call.
Try It Out
This example will convert your uploaded PowerPoint file to a PDF.
Add a File
Add a PowerPoint file named document.ppt
to your project folder. You can also use our sample file.
The file name is case sensitive. Make sure the file name matches the file name in the sample code.
Run the Code
Copy the code and run it from the same folder you added the files to. For more information, see our language-specific getting started guides.
View the Results
Open
result.pdf
in your project folder to view the results.
curl -X POST https://api.pspdfkit.com/build \
-H "Authorization: Bearer your_api_key_here" \
-o result.pdf \
--fail \
-F document=@document.ppt \
-F instructions='{
"parts": [
{
"file": "document"
}
]
}'
curl -X POST https://api.pspdfkit.com/build ^
-H "Authorization: Bearer your_api_key_here" ^
-o result.pdf ^
--fail ^
-F document=@document.ppt ^
-F instructions="{\"parts\": [{\"file\": \"document\"}]}"
package com.example.pspdfkit;
import java.io.File;
import java.io.IOException;
import java.nio.file.FileSystems;
import java.nio.file.Files;
import java.nio.file.StandardCopyOption;
import org.json.JSONArray;
import org.json.JSONObject;
import okhttp3.MediaType;
import okhttp3.MultipartBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
public final class PspdfkitApiExample {
public static void main(final String[] args) throws IOException {
final RequestBody body = new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart(
"document",
"document.ppt",
RequestBody.create(
new File("document.ppt"),
MediaType.parse("application/vnd.ms-powerpoint")
)
)
.addFormDataPart(
"instructions",
new JSONObject()
.put("parts", new JSONArray()
.put(new JSONObject()
.put("file", "document")
)
).toString()
)
.build();
final Request request = new Request.Builder()
.url("https://api.pspdfkit.com/build")
.method("POST", body)
.addHeader("Authorization", "Bearer your_api_key_here")
.build();
final OkHttpClient client = new OkHttpClient()
.newBuilder()
.build();
final Response response = client.newCall(request).execute();
if (response.isSuccessful()) {
Files.copy(
response.body().byteStream(),
FileSystems.getDefault().getPath("result.pdf"),
StandardCopyOption.REPLACE_EXISTING
);
} else {
// Handle the error
throw new IOException(response.body().string());
}
}
}
using System;
using System.IO;
using System.Net;
using RestSharp;
namespace PspdfkitApiDemo
{
class Program
{
static void Main(string[] args)
{
var client = new RestClient("https://api.pspdfkit.com/build");
var request = new RestRequest(Method.POST)
.AddHeader("Authorization", "Bearer your_api_key_here")
.AddFile("document", "document.ppt")
.AddParameter("instructions", new JsonObject
{
["parts"] = new JsonArray
{
new JsonObject
{
["file"] = "document"
}
}
}.ToString());
request.AdvancedResponseWriter = (responseStream, response) =>
{
if (response.StatusCode == HttpStatusCode.OK)
{
using (responseStream)
{
using var outputFileWriter = File.OpenWrite("result.pdf");
responseStream.CopyTo(outputFileWriter);
}
}
else
{
var responseStreamReader = new StreamReader(responseStream);
Console.Write(responseStreamReader.ReadToEnd());
}
};
client.Execute(request);
}
}
}
// This code requires Node.js. Do not run this code directly in a web browser.
const axios = require('axios')
const FormData = require('form-data')
const fs = require('fs')
const formData = new FormData()
formData.append('instructions', JSON.stringify({
parts: [
{
file: "document"
}
]
}))
formData.append('document', fs.createReadStream('document.ppt'))
;(async () => {
try {
const response = await axios.post('https://api.pspdfkit.com/build', formData, {
headers: formData.getHeaders({
'Authorization': 'Bearer your_api_key_here'
}),
responseType: "stream"
})
response.data.pipe(fs.createWriteStream("result.pdf"))
} catch (e) {
const errorString = await streamToString(e.response.data)
console.log(errorString)
}
})()
function streamToString(stream) {
const chunks = []
return new Promise((resolve, reject) => {
stream.on("data", (chunk) => chunks.push(Buffer.from(chunk)))
stream.on("error", (err) => reject(err))
stream.on("end", () => resolve(Buffer.concat(chunks).toString("utf8")))
})
}
import requests
import json
instructions = {
'parts': [
{
'file': 'document'
}
]
}
response = requests.request(
'POST',
'https://api.pspdfkit.com/build',
headers = {
'Authorization': 'Bearer your_api_key_here'
},
files = {
'document': open('document.ppt', 'rb')
},
data = {
'instructions': json.dumps(instructions)
},
stream = True
)
if response.ok:
with open('result.pdf', 'wb') as fd:
for chunk in response.iter_content(chunk_size=8096):
fd.write(chunk)
else:
print(response.text)
exit()
<?php
$FileHandle = fopen('result.pdf', 'w+');
$curl = curl_init();
$instructions = '{
"parts": [
{
"file": "document"
}
]
}';
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.pspdfkit.com/build',
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_POSTFIELDS => array(
'instructions' => $instructions,
'document' => new CURLFILE('document.ppt')
),
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer your_api_key_here'
),
CURLOPT_FILE => $FileHandle,
));
$response = curl_exec($curl);
curl_close($curl);
fclose($FileHandle);
Your API Key
Get access to your API key when you create an account. Once your account has been created, you’ll be able to process 100 documents per month for free using any of our API tools.
Your API key has automatically been inserted into the API example code. Run the sample code in your terminal to execute the API call.
Try It Out
This example will convert your uploaded PowerPoint file to a PDF.
Add a File
Add a PowerPoint file named document.pptx
to your project folder. You can also use our sample file.
The file name is case sensitive. Make sure the file name matches the file name in the sample code.
Run the Code
Copy the code and run it from the same folder you added the files to. For more information, see our language-specific getting started guides.
View the Results
Open
result.pdf
in your project folder to view the results.
curl -X POST https://api.pspdfkit.com/build \
-H "Authorization: Bearer your_api_key_here" \
-o result.pdf \
--fail \
-F document=@document.pptx \
-F instructions='{
"parts": [
{
"file": "document"
}
]
}'
curl -X POST https://api.pspdfkit.com/build ^
-H "Authorization: Bearer your_api_key_here" ^
-o result.pdf ^
--fail ^
-F document=@document.pptx ^
-F instructions="{\"parts\": [{\"file\": \"document\"}]}"
package com.example.pspdfkit;
import java.io.File;
import java.io.IOException;
import java.nio.file.FileSystems;
import java.nio.file.Files;
import java.nio.file.StandardCopyOption;
import org.json.JSONArray;
import org.json.JSONObject;
import okhttp3.MediaType;
import okhttp3.MultipartBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
public final class PspdfkitApiExample {
public static void main(final String[] args) throws IOException {
final RequestBody body = new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart(
"document",
"document.pptx",
RequestBody.create(
new File("document.pptx"),
MediaType.parse("application/vnd.openxmlformats-officedocument.presentationml.presentation")
)
)
.addFormDataPart(
"instructions",
new JSONObject()
.put("parts", new JSONArray()
.put(new JSONObject()
.put("file", "document")
)
).toString()
)
.build();
final Request request = new Request.Builder()
.url("https://api.pspdfkit.com/build")
.method("POST", body)
.addHeader("Authorization", "Bearer your_api_key_here")
.build();
final OkHttpClient client = new OkHttpClient()
.newBuilder()
.build();
final Response response = client.newCall(request).execute();
if (response.isSuccessful()) {
Files.copy(
response.body().byteStream(),
FileSystems.getDefault().getPath("result.pdf"),
StandardCopyOption.REPLACE_EXISTING
);
} else {
// Handle the error
throw new IOException(response.body().string());
}
}
}
using System;
using System.IO;
using System.Net;
using RestSharp;
namespace PspdfkitApiDemo
{
class Program
{
static void Main(string[] args)
{
var client = new RestClient("https://api.pspdfkit.com/build");
var request = new RestRequest(Method.POST)
.AddHeader("Authorization", "Bearer your_api_key_here")
.AddFile("document", "document.pptx")
.AddParameter("instructions", new JsonObject
{
["parts"] = new JsonArray
{
new JsonObject
{
["file"] = "document"
}
}
}.ToString());
request.AdvancedResponseWriter = (responseStream, response) =>
{
if (response.StatusCode == HttpStatusCode.OK)
{
using (responseStream)
{
using var outputFileWriter = File.OpenWrite("result.pdf");
responseStream.CopyTo(outputFileWriter);
}
}
else
{
var responseStreamReader = new StreamReader(responseStream);
Console.Write(responseStreamReader.ReadToEnd());
}
};
client.Execute(request);
}
}
}
// This code requires Node.js. Do not run this code directly in a web browser.
const axios = require('axios')
const FormData = require('form-data')
const fs = require('fs')
const formData = new FormData()
formData.append('instructions', JSON.stringify({
parts: [
{
file: "document"
}
]
}))
formData.append('document', fs.createReadStream('document.pptx'))
;(async () => {
try {
const response = await axios.post('https://api.pspdfkit.com/build', formData, {
headers: formData.getHeaders({
'Authorization': 'Bearer your_api_key_here'
}),
responseType: "stream"
})
response.data.pipe(fs.createWriteStream("result.pdf"))
} catch (e) {
const errorString = await streamToString(e.response.data)
console.log(errorString)
}
})()
function streamToString(stream) {
const chunks = []
return new Promise((resolve, reject) => {
stream.on("data", (chunk) => chunks.push(Buffer.from(chunk)))
stream.on("error", (err) => reject(err))
stream.on("end", () => resolve(Buffer.concat(chunks).toString("utf8")))
})
}
import requests
import json
instructions = {
'parts': [
{
'file': 'document'
}
]
}
response = requests.request(
'POST',
'https://api.pspdfkit.com/build',
headers = {
'Authorization': 'Bearer your_api_key_here'
},
files = {
'document': open('document.pptx', 'rb')
},
data = {
'instructions': json.dumps(instructions)
},
stream = True
)
if response.ok:
with open('result.pdf', 'wb') as fd:
for chunk in response.iter_content(chunk_size=8096):
fd.write(chunk)
else:
print(response.text)
exit()
<?php
$FileHandle = fopen('result.pdf', 'w+');
$curl = curl_init();
$instructions = '{
"parts": [
{
"file": "document"
}
]
}';
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.pspdfkit.com/build',
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_POSTFIELDS => array(
'instructions' => $instructions,
'document' => new CURLFILE('document.pptx')
),
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer your_api_key_here'
),
CURLOPT_FILE => $FileHandle,
));
$response = curl_exec($curl);
curl_close($curl);
fclose($FileHandle);
Your API Key
Get access to your API key when you create an account. Once your account has been created, you’ll be able to process 100 documents per month for free using any of our API tools.
Your API key has automatically been inserted into the API example code. Run the sample code in your terminal to execute the API call.
Try It Out
This example will convert your uploaded Excel file to a PDF.
Add a File
Add an Excel file named document.xls
to your project folder. You can also use our sample file.
The file name is case sensitive. Make sure the file name matches the file name in the sample code.
Run the Code
Copy the code and run it from the same folder you added the files to. For more information, see our language-specific getting started guides.
View the Results
Open
result.pdf
in your project folder to view the results.
curl -X POST https://api.pspdfkit.com/build \
-H "Authorization: Bearer your_api_key_here" \
-o result.pdf \
--fail \
-F document=@document.xls \
-F instructions='{
"parts": [
{
"file": "document"
}
]
}'
curl -X POST https://api.pspdfkit.com/build ^
-H "Authorization: Bearer your_api_key_here" ^
-o result.pdf ^
--fail ^
-F document=@document.xls ^
-F instructions="{\"parts\": [{\"file\": \"document\"}]}"
package com.example.pspdfkit;
import java.io.File;
import java.io.IOException;
import java.nio.file.FileSystems;
import java.nio.file.Files;
import java.nio.file.StandardCopyOption;
import org.json.JSONArray;
import org.json.JSONObject;
import okhttp3.MediaType;
import okhttp3.MultipartBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
public final class PspdfkitApiExample {
public static void main(final String[] args) throws IOException {
final RequestBody body = new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart(
"document",
"document.xls",
RequestBody.create(
new File("document.xls"),
MediaType.parse("application/vnd.ms-excel")
)
)
.addFormDataPart(
"instructions",
new JSONObject()
.put("parts", new JSONArray()
.put(new JSONObject()
.put("file", "document")
)
).toString()
)
.build();
final Request request = new Request.Builder()
.url("https://api.pspdfkit.com/build")
.method("POST", body)
.addHeader("Authorization", "Bearer your_api_key_here")
.build();
final OkHttpClient client = new OkHttpClient()
.newBuilder()
.build();
final Response response = client.newCall(request).execute();
if (response.isSuccessful()) {
Files.copy(
response.body().byteStream(),
FileSystems.getDefault().getPath("result.pdf"),
StandardCopyOption.REPLACE_EXISTING
);
} else {
// Handle the error
throw new IOException(response.body().string());
}
}
}
using System;
using System.IO;
using System.Net;
using RestSharp;
namespace PspdfkitApiDemo
{
class Program
{
static void Main(string[] args)
{
var client = new RestClient("https://api.pspdfkit.com/build");
var request = new RestRequest(Method.POST)
.AddHeader("Authorization", "Bearer your_api_key_here")
.AddFile("document", "document.xls")
.AddParameter("instructions", new JsonObject
{
["parts"] = new JsonArray
{
new JsonObject
{
["file"] = "document"
}
}
}.ToString());
request.AdvancedResponseWriter = (responseStream, response) =>
{
if (response.StatusCode == HttpStatusCode.OK)
{
using (responseStream)
{
using var outputFileWriter = File.OpenWrite("result.pdf");
responseStream.CopyTo(outputFileWriter);
}
}
else
{
var responseStreamReader = new StreamReader(responseStream);
Console.Write(responseStreamReader.ReadToEnd());
}
};
client.Execute(request);
}
}
}
// This code requires Node.js. Do not run this code directly in a web browser.
const axios = require('axios')
const FormData = require('form-data')
const fs = require('fs')
const formData = new FormData()
formData.append('instructions', JSON.stringify({
parts: [
{
file: "document"
}
]
}))
formData.append('document', fs.createReadStream('document.xls'))
;(async () => {
try {
const response = await axios.post('https://api.pspdfkit.com/build', formData, {
headers: formData.getHeaders({
'Authorization': 'Bearer your_api_key_here'
}),
responseType: "stream"
})
response.data.pipe(fs.createWriteStream("result.pdf"))
} catch (e) {
const errorString = await streamToString(e.response.data)
console.log(errorString)
}
})()
function streamToString(stream) {
const chunks = []
return new Promise((resolve, reject) => {
stream.on("data", (chunk) => chunks.push(Buffer.from(chunk)))
stream.on("error", (err) => reject(err))
stream.on("end", () => resolve(Buffer.concat(chunks).toString("utf8")))
})
}
import requests
import json
instructions = {
'parts': [
{
'file': 'document'
}
]
}
response = requests.request(
'POST',
'https://api.pspdfkit.com/build',
headers = {
'Authorization': 'Bearer your_api_key_here'
},
files = {
'document': open('document.xls', 'rb')
},
data = {
'instructions': json.dumps(instructions)
},
stream = True
)
if response.ok:
with open('result.pdf', 'wb') as fd:
for chunk in response.iter_content(chunk_size=8096):
fd.write(chunk)
else:
print(response.text)
exit()
<?php
$FileHandle = fopen('result.pdf', 'w+');
$curl = curl_init();
$instructions = '{
"parts": [
{
"file": "document"
}
]
}';
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.pspdfkit.com/build',
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_POSTFIELDS => array(
'instructions' => $instructions,
'document' => new CURLFILE('document.xls')
),
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer your_api_key_here'
),
CURLOPT_FILE => $FileHandle,
));
$response = curl_exec($curl);
curl_close($curl);
fclose($FileHandle);
Your API Key
Get access to your API key when you create an account. Once your account has been created, you’ll be able to process 100 documents per month for free using any of our API tools.
Your API key has automatically been inserted into the API example code. Run the sample code in your terminal to execute the API call.
Try It Out
This example will convert your uploaded Excel file to a PDF.
Add a File
Add an Excel file named document.xlsx
to your project folder. You can also use our sample file.
The file name is case sensitive. Make sure the file name matches the file name in the sample code.
Run the Code
Copy the code and run it from the same folder you added the files to. For more information, see our language-specific getting started guides.
View the Results
Open
result.pdf
in your project folder to view the results.
curl -X POST https://api.pspdfkit.com/build \
-H "Authorization: Bearer your_api_key_here" \
-o result.pdf \
--fail \
-F document=@document.xlsx \
-F instructions='{
"parts": [
{
"file": "document"
}
]
}'
curl -X POST https://api.pspdfkit.com/build ^
-H "Authorization: Bearer your_api_key_here" ^
-o result.pdf ^
--fail ^
-F document=@document.xlsx ^
-F instructions="{\"parts\": [{\"file\": \"document\"}]}"
package com.example.pspdfkit;
import java.io.File;
import java.io.IOException;
import java.nio.file.FileSystems;
import java.nio.file.Files;
import java.nio.file.StandardCopyOption;
import org.json.JSONArray;
import org.json.JSONObject;
import okhttp3.MediaType;
import okhttp3.MultipartBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
public final class PspdfkitApiExample {
public static void main(final String[] args) throws IOException {
final RequestBody body = new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart(
"document",
"document.xlsx",
RequestBody.create(
new File("document.xlsx"),
MediaType.parse("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
)
)
.addFormDataPart(
"instructions",
new JSONObject()
.put("parts", new JSONArray()
.put(new JSONObject()
.put("file", "document")
)
).toString()
)
.build();
final Request request = new Request.Builder()
.url("https://api.pspdfkit.com/build")
.method("POST", body)
.addHeader("Authorization", "Bearer your_api_key_here")
.build();
final OkHttpClient client = new OkHttpClient()
.newBuilder()
.build();
final Response response = client.newCall(request).execute();
if (response.isSuccessful()) {
Files.copy(
response.body().byteStream(),
FileSystems.getDefault().getPath("result.pdf"),
StandardCopyOption.REPLACE_EXISTING
);
} else {
// Handle the error
throw new IOException(response.body().string());
}
}
}
using System;
using System.IO;
using System.Net;
using RestSharp;
namespace PspdfkitApiDemo
{
class Program
{
static void Main(string[] args)
{
var client = new RestClient("https://api.pspdfkit.com/build");
var request = new RestRequest(Method.POST)
.AddHeader("Authorization", "Bearer your_api_key_here")
.AddFile("document", "document.xlsx")
.AddParameter("instructions", new JsonObject
{
["parts"] = new JsonArray
{
new JsonObject
{
["file"] = "document"
}
}
}.ToString());
request.AdvancedResponseWriter = (responseStream, response) =>
{
if (response.StatusCode == HttpStatusCode.OK)
{
using (responseStream)
{
using var outputFileWriter = File.OpenWrite("result.pdf");
responseStream.CopyTo(outputFileWriter);
}
}
else
{
var responseStreamReader = new StreamReader(responseStream);
Console.Write(responseStreamReader.ReadToEnd());
}
};
client.Execute(request);
}
}
}
// This code requires Node.js. Do not run this code directly in a web browser.
const axios = require('axios')
const FormData = require('form-data')
const fs = require('fs')
const formData = new FormData()
formData.append('instructions', JSON.stringify({
parts: [
{
file: "document"
}
]
}))
formData.append('document', fs.createReadStream('document.xlsx'))
;(async () => {
try {
const response = await axios.post('https://api.pspdfkit.com/build', formData, {
headers: formData.getHeaders({
'Authorization': 'Bearer your_api_key_here'
}),
responseType: "stream"
})
response.data.pipe(fs.createWriteStream("result.pdf"))
} catch (e) {
const errorString = await streamToString(e.response.data)
console.log(errorString)
}
})()
function streamToString(stream) {
const chunks = []
return new Promise((resolve, reject) => {
stream.on("data", (chunk) => chunks.push(Buffer.from(chunk)))
stream.on("error", (err) => reject(err))
stream.on("end", () => resolve(Buffer.concat(chunks).toString("utf8")))
})
}
import requests
import json
instructions = {
'parts': [
{
'file': 'document'
}
]
}
response = requests.request(
'POST',
'https://api.pspdfkit.com/build',
headers = {
'Authorization': 'Bearer your_api_key_here'
},
files = {
'document': open('document.xlsx', 'rb')
},
data = {
'instructions': json.dumps(instructions)
},
stream = True
)
if response.ok:
with open('result.pdf', 'wb') as fd:
for chunk in response.iter_content(chunk_size=8096):
fd.write(chunk)
else:
print(response.text)
exit()
<?php
$FileHandle = fopen('result.pdf', 'w+');
$curl = curl_init();
$instructions = '{
"parts": [
{
"file": "document"
}
]
}';
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.pspdfkit.com/build',
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_POSTFIELDS => array(
'instructions' => $instructions,
'document' => new CURLFILE('document.xlsx')
),
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer your_api_key_here'
),
CURLOPT_FILE => $FileHandle,
));
$response = curl_exec($curl);
curl_close($curl);
fclose($FileHandle);
Your API Key
Get access to your API key when you create an account. Once your account has been created, you’ll be able to process 100 documents per month for free using any of our API tools.
Your API key has automatically been inserted into the API example code. Run the sample code in your terminal to execute the API call.
Try It Out
This example will convert your uploaded JPG file to a PDF.
Add a File
Add a JPG file named image.jpg
to your project folder. You can also use our sample file.
The file name is case sensitive. Make sure the file name matches the file name in the sample code.
Run the Code
Copy the code and run it from the same folder you added the files to. For more information, see our language-specific getting started guides.
View the Results
Open
result.pdf
in your project folder to view the results.
curl -X POST https://api.pspdfkit.com/build \
-H "Authorization: Bearer your_api_key_here" \
-o result.pdf \
--fail \
-F image=@image.jpg \
-F instructions='{
"parts": [
{
"file": "image"
}
]
}'
curl -X POST https://api.pspdfkit.com/build ^
-H "Authorization: Bearer your_api_key_here" ^
-o result.pdf ^
--fail ^
-F image=@image.jpg ^
-F instructions="{\"parts\": [{\"file\": \"image\"}]}"
package com.example.pspdfkit;
import java.io.File;
import java.io.IOException;
import java.nio.file.FileSystems;
import java.nio.file.Files;
import java.nio.file.StandardCopyOption;
import org.json.JSONArray;
import org.json.JSONObject;
import okhttp3.MediaType;
import okhttp3.MultipartBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
public final class PspdfkitApiExample {
public static void main(final String[] args) throws IOException {
final RequestBody body = new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart(
"image",
"image.jpg",
RequestBody.create(
new File("image.jpg"),
MediaType.parse("image/jpeg")
)
)
.addFormDataPart(
"instructions",
new JSONObject()
.put("parts", new JSONArray()
.put(new JSONObject()
.put("file", "image")
)
).toString()
)
.build();
final Request request = new Request.Builder()
.url("https://api.pspdfkit.com/build")
.method("POST", body)
.addHeader("Authorization", "Bearer your_api_key_here")
.build();
final OkHttpClient client = new OkHttpClient()
.newBuilder()
.build();
final Response response = client.newCall(request).execute();
if (response.isSuccessful()) {
Files.copy(
response.body().byteStream(),
FileSystems.getDefault().getPath("result.pdf"),
StandardCopyOption.REPLACE_EXISTING
);
} else {
// Handle the error
throw new IOException(response.body().string());
}
}
}
using System;
using System.IO;
using System.Net;
using RestSharp;
namespace PspdfkitApiDemo
{
class Program
{
static void Main(string[] args)
{
var client = new RestClient("https://api.pspdfkit.com/build");
var request = new RestRequest(Method.POST)
.AddHeader("Authorization", "Bearer your_api_key_here")
.AddFile("image", "image.jpg")
.AddParameter("instructions", new JsonObject
{
["parts"] = new JsonArray
{
new JsonObject
{
["file"] = "image"
}
}
}.ToString());
request.AdvancedResponseWriter = (responseStream, response) =>
{
if (response.StatusCode == HttpStatusCode.OK)
{
using (responseStream)
{
using var outputFileWriter = File.OpenWrite("result.pdf");
responseStream.CopyTo(outputFileWriter);
}
}
else
{
var responseStreamReader = new StreamReader(responseStream);
Console.Write(responseStreamReader.ReadToEnd());
}
};
client.Execute(request);
}
}
}
// This code requires Node.js. Do not run this code directly in a web browser.
const axios = require('axios')
const FormData = require('form-data')
const fs = require('fs')
const formData = new FormData()
formData.append('instructions', JSON.stringify({
parts: [
{
file: "image"
}
]
}))
formData.append('image', fs.createReadStream('image.jpg'))
;(async () => {
try {
const response = await axios.post('https://api.pspdfkit.com/build', formData, {
headers: formData.getHeaders({
'Authorization': 'Bearer your_api_key_here'
}),
responseType: "stream"
})
response.data.pipe(fs.createWriteStream("result.pdf"))
} catch (e) {
const errorString = await streamToString(e.response.data)
console.log(errorString)
}
})()
function streamToString(stream) {
const chunks = []
return new Promise((resolve, reject) => {
stream.on("data", (chunk) => chunks.push(Buffer.from(chunk)))
stream.on("error", (err) => reject(err))
stream.on("end", () => resolve(Buffer.concat(chunks).toString("utf8")))
})
}
import requests
import json
instructions = {
'parts': [
{
'file': 'image'
}
]
}
response = requests.request(
'POST',
'https://api.pspdfkit.com/build',
headers = {
'Authorization': 'Bearer your_api_key_here'
},
files = {
'image': open('image.jpg', 'rb')
},
data = {
'instructions': json.dumps(instructions)
},
stream = True
)
if response.ok:
with open('result.pdf', 'wb') as fd:
for chunk in response.iter_content(chunk_size=8096):
fd.write(chunk)
else:
print(response.text)
exit()
<?php
$FileHandle = fopen('result.pdf', 'w+');
$curl = curl_init();
$instructions = '{
"parts": [
{
"file": "image"
}
]
}';
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.pspdfkit.com/build',
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_POSTFIELDS => array(
'instructions' => $instructions,
'image' => new CURLFILE('image.jpg')
),
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer your_api_key_here'
),
CURLOPT_FILE => $FileHandle,
));
$response = curl_exec($curl);
curl_close($curl);
fclose($FileHandle);
Your API Key
Get access to your API key when you create an account. Once your account has been created, you’ll be able to process 100 documents per month for free using any of our API tools.
Your API key has automatically been inserted into the API example code. Run the sample code in your terminal to execute the API call.
Try It Out
This example will convert your uploaded PNG file to a PDF.
Add a File
Add a PNG file named image.png
to your project folder. You can also use our sample file.
The file name is case sensitive. Make sure the file name matches the file name in the sample code.
Run the Code
Copy the code and run it from the same folder you added the files to. For more information, see our language-specific getting started guides.
View the Results
Open
result.pdf
in your project folder to view the results.
curl -X POST https://api.pspdfkit.com/build \
-H "Authorization: Bearer your_api_key_here" \
-o result.pdf \
--fail \
-F image=@image.png \
-F instructions='{
"parts": [
{
"file": "image"
}
]
}'
curl -X POST https://api.pspdfkit.com/build ^
-H "Authorization: Bearer your_api_key_here" ^
-o result.pdf ^
--fail ^
-F image=@image.png ^
-F instructions="{\"parts\": [{\"file\": \"image\"}]}"
package com.example.pspdfkit;
import java.io.File;
import java.io.IOException;
import java.nio.file.FileSystems;
import java.nio.file.Files;
import java.nio.file.StandardCopyOption;
import org.json.JSONArray;
import org.json.JSONObject;
import okhttp3.MediaType;
import okhttp3.MultipartBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
public final class PspdfkitApiExample {
public static void main(final String[] args) throws IOException {
final RequestBody body = new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart(
"image",
"image.png",
RequestBody.create(
new File("image.png"),
MediaType.parse("image/png")
)
)
.addFormDataPart(
"instructions",
new JSONObject()
.put("parts", new JSONArray()
.put(new JSONObject()
.put("file", "image")
)
).toString()
)
.build();
final Request request = new Request.Builder()
.url("https://api.pspdfkit.com/build")
.method("POST", body)
.addHeader("Authorization", "Bearer your_api_key_here")
.build();
final OkHttpClient client = new OkHttpClient()
.newBuilder()
.build();
final Response response = client.newCall(request).execute();
if (response.isSuccessful()) {
Files.copy(
response.body().byteStream(),
FileSystems.getDefault().getPath("result.pdf"),
StandardCopyOption.REPLACE_EXISTING
);
} else {
// Handle the error
throw new IOException(response.body().string());
}
}
}
using System;
using System.IO;
using System.Net;
using RestSharp;
namespace PspdfkitApiDemo
{
class Program
{
static void Main(string[] args)
{
var client = new RestClient("https://api.pspdfkit.com/build");
var request = new RestRequest(Method.POST)
.AddHeader("Authorization", "Bearer your_api_key_here")
.AddFile("image", "image.png")
.AddParameter("instructions", new JsonObject
{
["parts"] = new JsonArray
{
new JsonObject
{
["file"] = "image"
}
}
}.ToString());
request.AdvancedResponseWriter = (responseStream, response) =>
{
if (response.StatusCode == HttpStatusCode.OK)
{
using (responseStream)
{
using var outputFileWriter = File.OpenWrite("result.pdf");
responseStream.CopyTo(outputFileWriter);
}
}
else
{
var responseStreamReader = new StreamReader(responseStream);
Console.Write(responseStreamReader.ReadToEnd());
}
};
client.Execute(request);
}
}
}
// This code requires Node.js. Do not run this code directly in a web browser.
const axios = require('axios')
const FormData = require('form-data')
const fs = require('fs')
const formData = new FormData()
formData.append('instructions', JSON.stringify({
parts: [
{
file: "image"
}
]
}))
formData.append('image', fs.createReadStream('image.png'))
;(async () => {
try {
const response = await axios.post('https://api.pspdfkit.com/build', formData, {
headers: formData.getHeaders({
'Authorization': 'Bearer your_api_key_here'
}),
responseType: "stream"
})
response.data.pipe(fs.createWriteStream("result.pdf"))
} catch (e) {
const errorString = await streamToString(e.response.data)
console.log(errorString)
}
})()
function streamToString(stream) {
const chunks = []
return new Promise((resolve, reject) => {
stream.on("data", (chunk) => chunks.push(Buffer.from(chunk)))
stream.on("error", (err) => reject(err))
stream.on("end", () => resolve(Buffer.concat(chunks).toString("utf8")))
})
}
import requests
import json
instructions = {
'parts': [
{
'file': 'image'
}
]
}
response = requests.request(
'POST',
'https://api.pspdfkit.com/build',
headers = {
'Authorization': 'Bearer your_api_key_here'
},
files = {
'image': open('image.png', 'rb')
},
data = {
'instructions': json.dumps(instructions)
},
stream = True
)
if response.ok:
with open('result.pdf', 'wb') as fd:
for chunk in response.iter_content(chunk_size=8096):
fd.write(chunk)
else:
print(response.text)
exit()
<?php
$FileHandle = fopen('result.pdf', 'w+');
$curl = curl_init();
$instructions = '{
"parts": [
{
"file": "image"
}
]
}';
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.pspdfkit.com/build',
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_POSTFIELDS => array(
'instructions' => $instructions,
'image' => new CURLFILE('image.png')
),
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer your_api_key_here'
),
CURLOPT_FILE => $FileHandle,
));
$response = curl_exec($curl);
curl_close($curl);
fclose($FileHandle);
Your API Key
Get access to your API key when you create an account. Once your account has been created, you’ll be able to process 100 documents per month for free using any of our API tools.
Your API key has automatically been inserted into the API example code. Run the sample code in your terminal to execute the API call.
Try It Out
This example will convert your uploaded TIFF file to a PDF.
Add a File
Add a TIFF file named image.tiff
to your project folder. You can also use our sample file.
The file name is case sensitive. Make sure the file name matches the file name in the sample code.
Run the Code
Copy the code and run it from the same folder you added the files to. For more information, see our language-specific getting started guides.
View the Results
Open
result.pdf
in your project folder to view the results.
curl -X POST https://api.pspdfkit.com/build \
-H "Authorization: Bearer your_api_key_here" \
-o result.pdf \
--fail \
-F image=@image.tiff \
-F instructions='{
"parts": [
{
"file": "image"
}
]
}'
curl -X POST https://api.pspdfkit.com/build ^
-H "Authorization: Bearer your_api_key_here" ^
-o result.pdf ^
--fail ^
-F image=@image.tiff ^
-F instructions="{\"parts\": [{\"file\": \"image\"}]}"
package com.example.pspdfkit;
import java.io.File;
import java.io.IOException;
import java.nio.file.FileSystems;
import java.nio.file.Files;
import java.nio.file.StandardCopyOption;
import org.json.JSONArray;
import org.json.JSONObject;
import okhttp3.MediaType;
import okhttp3.MultipartBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
public final class PspdfkitApiExample {
public static void main(final String[] args) throws IOException {
final RequestBody body = new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart(
"image",
"image.tiff",
RequestBody.create(
new File("image.tiff"),
MediaType.parse("image/tiff")
)
)
.addFormDataPart(
"instructions",
new JSONObject()
.put("parts", new JSONArray()
.put(new JSONObject()
.put("file", "image")
)
).toString()
)
.build();
final Request request = new Request.Builder()
.url("https://api.pspdfkit.com/build")
.method("POST", body)
.addHeader("Authorization", "Bearer your_api_key_here")
.build();
final OkHttpClient client = new OkHttpClient()
.newBuilder()
.build();
final Response response = client.newCall(request).execute();
if (response.isSuccessful()) {
Files.copy(
response.body().byteStream(),
FileSystems.getDefault().getPath("result.pdf"),
StandardCopyOption.REPLACE_EXISTING
);
} else {
// Handle the error
throw new IOException(response.body().string());
}
}
}
using System;
using System.IO;
using System.Net;
using RestSharp;
namespace PspdfkitApiDemo
{
class Program
{
static void Main(string[] args)
{
var client = new RestClient("https://api.pspdfkit.com/build");
var request = new RestRequest(Method.POST)
.AddHeader("Authorization", "Bearer your_api_key_here")
.AddFile("image", "image.tiff")
.AddParameter("instructions", new JsonObject
{
["parts"] = new JsonArray
{
new JsonObject
{
["file"] = "image"
}
}
}.ToString());
request.AdvancedResponseWriter = (responseStream, response) =>
{
if (response.StatusCode == HttpStatusCode.OK)
{
using (responseStream)
{
using var outputFileWriter = File.OpenWrite("result.pdf");
responseStream.CopyTo(outputFileWriter);
}
}
else
{
var responseStreamReader = new StreamReader(responseStream);
Console.Write(responseStreamReader.ReadToEnd());
}
};
client.Execute(request);
}
}
}
// This code requires Node.js. Do not run this code directly in a web browser.
const axios = require('axios')
const FormData = require('form-data')
const fs = require('fs')
const formData = new FormData()
formData.append('instructions', JSON.stringify({
parts: [
{
file: "image"
}
]
}))
formData.append('image', fs.createReadStream('image.tiff'))
;(async () => {
try {
const response = await axios.post('https://api.pspdfkit.com/build', formData, {
headers: formData.getHeaders({
'Authorization': 'Bearer your_api_key_here'
}),
responseType: "stream"
})
response.data.pipe(fs.createWriteStream("result.pdf"))
} catch (e) {
const errorString = await streamToString(e.response.data)
console.log(errorString)
}
})()
function streamToString(stream) {
const chunks = []
return new Promise((resolve, reject) => {
stream.on("data", (chunk) => chunks.push(Buffer.from(chunk)))
stream.on("error", (err) => reject(err))
stream.on("end", () => resolve(Buffer.concat(chunks).toString("utf8")))
})
}
import requests
import json
instructions = {
'parts': [
{
'file': 'image'
}
]
}
response = requests.request(
'POST',
'https://api.pspdfkit.com/build',
headers = {
'Authorization': 'Bearer your_api_key_here'
},
files = {
'image': open('image.tiff', 'rb')
},
data = {
'instructions': json.dumps(instructions)
},
stream = True
)
if response.ok:
with open('result.pdf', 'wb') as fd:
for chunk in response.iter_content(chunk_size=8096):
fd.write(chunk)
else:
print(response.text)
exit()
<?php
$FileHandle = fopen('result.pdf', 'w+');
$curl = curl_init();
$instructions = '{
"parts": [
{
"file": "image"
}
]
}';
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.pspdfkit.com/build',
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_POSTFIELDS => array(
'instructions' => $instructions,
'image' => new CURLFILE('image.tiff')
),
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer your_api_key_here'
),
CURLOPT_FILE => $FileHandle,
));
$response = curl_exec($curl);
curl_close($curl);
fclose($FileHandle);
Your API Key
Get access to your API key when you create an account. Once your account has been created, you’ll be able to process 100 documents per month for free using any of our API tools.
Your API key has automatically been inserted into the API example code. Run the sample code in your terminal to execute the API call.