How can I help you?
Rotate PDF Pages Using Syncfusion WEB API
24 Mar 20266 minutes to read
The Syncfusion Rotate PDF Web API lets you change the orientation of pages within a PDF quickly and accurately. By submitting a PDF to the API, you can rotate selected pages or the entire document to any desired angle while preserving the original content, layout, and quality. This feature is especially helpful for fixing incorrectly scanned pages or improving the readability and presentation of PDF documents.
Rotate PDF Pages
To rotate PDF pages, send a request to the /v1/edit-pdf/rotate-pages endpoint with a PDF document and its options as shown below.
curl --location 'http://localhost:8003/v1/edit-pdf/rotate-pages' \
--form 'file=@Input1.pdf' \
--form 'settings={
"RotationAngle": "90",
"File": "file",
"Password": null,
"PageRanges": [
{
"Start": 1,
"End": 2
},
{
"Start": 4,
"End": 5
}
]
}'const formdata = new FormData();
formdata.append("file", fileInput.files[0], "Input1.pdf");
formdata.append(
"settings",
JSON.stringify({
RotationAngle: 90,
File: "file",
Password: null,
PageRanges: [
{ Start: 1, End: 2 },
{ Start: 4, End: 5 }
]
})
);
const requestOptions = {
method: "POST",
body: formdata,
redirect: "follow"
};
fetch("http://localhost:8003/v1/edit-pdf/rotate-pages", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.error(error));var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "http://localhost:8003/v1/edit-pdf/rotate-pages");
var content = new MultipartFormDataContent();
content.Add(new StreamContent(File.OpenRead("Input1.pdf")), "file", "Input1.pdf");
var settings = new
{
RotationAngle = 90,
File = "file",
Password = (string)null,
PageRanges = new[]
{
new { Start = 1, End = 2 },
new { Start = 4, End = 5 }
}
};
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());Rotate PDF pages settings
RotationAngle
Specifies the angle (in degrees) by which the selected pages in the PDF should be rotated.
Supported values are 0, 90, 180, and 270.
Password
Specifies the password required to open and process a protected PDF file.
PageRanges
Specifies the page ranges within the PDF that should be rotated.
Start
Specifies the starting page number of the range to be rotated.
End
Specifies the ending page number of the range to be rotated.
Rotate PDF Job Response
Once the request is sent, it will create a job to rotate PDF pages and return the job details as follows:
{
"jobID": "6be827c5-d86d-4fe5-9bd5-c8fd5887a455",
"status": "requested",
"createdAt": "2024-05-06T09:39:13.9505828Z"
}
Check Rotate PDF Job Status
Next, you can retrieve the job status by sending a request to the /v1/edit-pdf/status/{jobID} endpoint with the job ID.
curl --location 'http://localhost:8003/v1/edit-pdf/status/f58c9739-622e-41d4-9dd2-57a901dc13c3' \
--output Output.pdfconst requestOptions = {
method: "GET",
redirect: "follow"
};
fetch("http://localhost:8003/v1/edit-pdf/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/edit-pdf/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