How can I help you?
Converting Word to PDF Using Syncfusion Web API
24 Mar 20265 minutes to read
The Syncfusion Word to PDF Web API allows you to transform Word documents into high‑quality PDF files while preserving the original layout, formatting, and content accuracy. It supports .doc, .docx, and .rtf formats and ensures accurate rendering of text, images, tables, and styles. The conversion process can be customized with options such as accessibility tagging and PDF/A archival compliance, making the output suitable for inclusive access and long‑term preservation.
Convert Word to PDF
To convert a Word document to PDF, send a request to the /v1/conversion/word-to-pdf endpoint, including both the Word file as input and the settings JSON.
curl -v --location 'http://localhost:8003/v1/conversion/word-to-pdf' \
--form 'file=@"Input.docx"' \
--form 'settings={
"File": "file",
"Password": null,
"PreserveFormFields": true,
"PdfCompliance": "PDF/A-1B",
"EnableAccessibility": false
}'const formdata = new FormData();
formdata.append("file", fileInput.files[0], "Input.docx");
formdata.append(
"settings",
JSON.stringify({
File: "file",
Password: null,
PreserveFormFields: true,
PdfCompliance: "PDF/A-1B", // use whatever your backend expects
EnableAccessibility: false
})
);
const requestOptions = {
method: "POST",
body: formdata,
redirect: "follow"
};
fetch("http://localhost:8003/v1/conversion/word-to-pdf", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "http://localhost:8003/v1/conversion/word-to-pdf");
var content = new MultipartFormDataContent();
content.Add(new StreamContent(File.OpenRead("Input.docx")), "file", "Input.docx");
var settings = new
{
File = "file",
Password = (string?)null,
PreserveFormFields = true,
PdfCompliance = "PDF/A-1B",
EnableAccessibility = false
};
var json = JsonSerializer.Serialize(settings);
var settingsContent = new StringContent(json, Encoding.UTF8, "application/json");
content.Add(settingsContent, "settings");
request.Content = content;
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());Word to PDF settings
Password
Specifies the password required to open a protected Word document before conversion.
PreserveFormFields
Retains form fields—such as text boxes, checkboxes, and dropdowns—so they remain interactive in the converted PDF.
PdfCompliance
Defines the PDF/A compliance level for archival and standards adherence. Supported levels include PDF/A‑1B, PDF/A‑2B, PDF/A‑3B, and PDF/A‑4.
EnableAccessibility
Applies accessibility tags to the PDF to improve compatibility with screen readers and assistive technologies.
Word to PDF Job Response
Once the request is sent, it will create a conversion job to convert the Word document to PDF and return the job details as follows:
{
"jobID": "6be827c5-d86d-4fe5-9bd5-c8fd5887a455",
"status": "requested",
"createdAt": "2024-05-06T09:39:13.9505828Z"
}
Check Word to PDF Job Status
Next, you can retrieve the job status by sending a request to the /v1/conversion/status/{jobID} endpoint with the job ID.
curl --location 'http://localhost:8003/v1/conversion/status/f58c9739-622e-41d4-9dd2-57a901dc13c3' \
--output Output.pdfconst requestOptions = {
method: "GET",
redirect: "follow"
};
fetch("http://localhost:8003/v1/conversion/status/4413bbb5-6b26-4c07-9af2-c26cd2c42fe3", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.error(error));var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "http://localhost:8003/v1/conversion/status/ef0766ab-bc74-456c-8143-782e730a89df");
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());You will receive one of the following statuses until the job is completed. Upon completion, you will receive the actual output file.
Job Statuses:
- Queued:
{
"jobID": "4b2782b2-9f08-478b-98fc-4464bd219ca0",
"status": "queued"
}
- In Progress:
{
"jobID": "ef0766ab-bc74-456c-8143-782e730a89df",
"status": "in progress"
}
- Error:
{
"jobID": "ef0766ab-bc74-456c-8143-782e730a89df",
"status": "errror",
"code": "500",
"message": "Failed to convert the document to PDF"
}
NOTE
The Syncfusion Document Processing API is now available as a Docker-based solution. Try it out