Shell
Shell (Windows)
Java
C#
JavaScript
Python
PHP
HTTP
curl -X POST https://api.nutrient.io/build \
-H "Authorization: Bearer your_api_key_here" \
-o result.pdf \
--fail \
-F file = @input.docx \
-F instructions = '{
"parts": [
{
"file": "file"
}
]
}'
Copy snippet
curl -X POST https://api.nutrient.io/build ^
-H "Authorization: Bearer your_api_key_here" ^
-o result.pdf ^
--fail ^
-F file = @input.docx ^
-F instructions = "{\" parts\" : [{\" file\" : \" file\" }]}"
Copy snippet
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 (
"file" ,
"input.docx" ,
RequestBody . create (
MediaType . parse ( "application/vnd.openxmlformats-officedocument.wordprocessingml.document" ) ,
new File ( "input.docx" )
)
)
. addFormDataPart (
"instructions" ,
new JSONObject ( )
. put ( "parts" , new JSONArray ( )
. put ( new JSONObject ( )
. put ( "file" , "file" )
)
) . toString ( )
)
. build ( ) ;
final Request request = new Request. Builder ( )
. url ( "https://api.nutrient.io/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 {
throw new IOException ( response. body ( ) . string ( ) ) ;
}
}
}
Copy snippet
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.nutrient.io/build" ) ;
var request = new RestRequest ( Method. POST)
. AddHeader ( "Authorization" , "Bearer your_api_key_here" )
. AddFile ( "file" , "input.docx" )
. AddParameter ( "instructions" , new JsonObject
{
[ "parts" ] = new JsonArray
{
new JsonObject
{
[ "file" ] = "file"
}
}
} . 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) ;
}
}
}
Copy snippet
const axios = require ( 'axios' )
const FormData = require ( 'form-data' )
const fs = require ( 'fs' )
const formData = new FormData ( )
formData. append ( 'instructions' , JSON . stringify ( {
parts : [
{
file : "file"
}
]
} ) )
formData. append ( 'file' , fs. createReadStream ( 'input.docx' ) )
; ( async ( ) => {
try {
const response = await axios. post ( 'https://api.nutrient.io/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" ) ) )
} )
}
Copy snippet
import requests
import json
response = requests. request(
'POST' ,
'https://api.nutrient.io/build' ,
headers = {
'Authorization' : 'Bearer your_api_key_here'
} ,
files = {
'file' : open ( 'input.docx' , 'rb' )
} ,
data = {
'instructions' : json. dumps( {
'parts' : [
{
'file' : 'file'
}
]
} )
} ,
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( )
Copy snippet
<?php
$FileHandle = fopen ( 'result.pdf' , 'w+' ) ;
$curl = curl_init ( ) ;
curl_setopt_array ( $curl , array (
CURLOPT_URL => 'https://api.nutrient.io/build' ,
CURLOPT_CUSTOMREQUEST => 'POST' ,
CURLOPT_RETURNTRANSFER => true ,
CURLOPT_ENCODING => '' ,
CURLOPT_POSTFIELDS => array (
'instructions' => '{
"parts": [
{
"file": "file"
}
]
}' ,
'file' => new CURLFILE ( 'input.docx' )
) ,
CURLOPT_HTTPHEADER => array (
'Authorization: Bearer your_api_key_here'
) ,
CURLOPT_FILE => $FileHandle ,
) ) ;
$response = curl_exec ( $curl ) ;
curl_close ( $curl ) ;
fclose ( $FileHandle ) ;
Copy snippet
POST https://api.nutrient.io/build HTTP/1.1
--customboundary
{
"parts" : [
{
"file" : "file"
}
]
}
--customboundary
Content-Disposition: form-data; name="file" ; filename="input.docx"
Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document
(file data)
--customboundary--
Copy snippet