PDF Blocks
TarifsSupport
Commencer gratuitement
Ouvrir la page

Inverser les pages d’un PDF

Inversez l’ordre des pages d’un PDF pour que la dernière page devienne la première.

Inversez l’ordre des pages d’un PDF : la dernière page devient la première et la première devient la dernière. L’API est stateless : votre document est traité dans la région et n’est jamais stocké.

Pour réorganiser les pages dans un ordre arbitraire, et pas seulement les inverser entièrement, utilisez Réorganiser les pages d’un PDF.

Endpoint

POST
/v1/reverse_pages

Disponible dans toutes les régions. Consultez Régions et résidence des données pour le routage et la résidence des données.

Région URL
Global https://api.pdfblocks.com/v1/reverse_pages
États-Unis https://us.api.pdfblocks.com/v1/reverse_pages
HIPAA États-Unis https://hipaa.api.pdfblocks.com/v1/reverse_pages
Union européenne https://eu.api.pdfblocks.com/v1/reverse_pages
Royaume-Uni https://uk.api.pdfblocks.com/v1/reverse_pages
Canada https://ca.api.pdfblocks.com/v1/reverse_pages
Australie https://au.api.pdfblocks.com/v1/reverse_pages
Japon https://jp.api.pdfblocks.com/v1/reverse_pages
Inde https://in.api.pdfblocks.com/v1/reverse_pages
Brésil https://br.api.pdfblocks.com/v1/reverse_pages

Authentification

Authentifiez chaque requête avec votre clé d’API secrète dans l’en-tête X-API-Key, via HTTPS. Créez et gérez vos clés depuis le dashboard. Consultez Authentification pour plus de détails.

Requête

L’endpoint accepte un corps de requête multipart/form-data.

filefilerequired

Le document PDF d’entrée.

Exemples

Inversez l’ordre des pages d’un PDF :

cURLbash
curl https://api.pdfblocks.com/v1/reverse_pages \
  -H 'X-API-Key: your_api_key' \
  -F file=@input.pdf \
  -o reversed.pdf
Pythonpython
# pip install requests
import requests

with open('input.pdf', 'rb') as file:
    response = requests.post(
        'https://api.pdfblocks.com/v1/reverse_pages',
        headers={'X-API-Key': 'your_api_key'},
        files={'file': file},
    )

response.raise_for_status()
with open('reversed.pdf', 'wb') as output:
    output.write(response.content)
Node.jsjavascript
// Node.js 18+
import { readFile, writeFile } from 'node:fs/promises';

const body = new FormData();
body.set('file', new Blob([await readFile('input.pdf')]), 'input.pdf');

const response = await fetch('https://api.pdfblocks.com/v1/reverse_pages', {
  method: 'POST',
  headers: { 'X-API-Key': 'your_api_key' },
  body,
});

if (!response.ok) throw new Error(`Request failed: ${response.status}`);
await writeFile('reversed.pdf', Buffer.from(await response.arrayBuffer()));
PHPphp
<?php
$ch = curl_init('https://api.pdfblocks.com/v1/reverse_pages');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => ['X-API-Key: your_api_key'],
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => [
        'file' => new CURLFile('input.pdf', 'application/pdf'),
    ],
]);

$pdf = curl_exec($ch);
if (curl_getinfo($ch, CURLINFO_HTTP_CODE) === 200) {
    file_put_contents('reversed.pdf', $pdf);
}
Rubyruby
# gem install http
require 'http'

response = HTTP
  .headers('X-API-Key' => 'your_api_key')
  .post('https://api.pdfblocks.com/v1/reverse_pages', form: {
    file: HTTP::FormData::File.new('input.pdf'),
  })

File.write('reversed.pdf', response.body) if response.status.success?
Gogo
package main

import (
	"bytes"
	"io"
	"mime/multipart"
	"net/http"
	"os"
)

func main() {
	var buf bytes.Buffer
	form := multipart.NewWriter(&buf)

	file, _ := os.Open("input.pdf")
	defer file.Close()
	part, _ := form.CreateFormFile("file", "input.pdf")
	io.Copy(part, file)

	form.Close()

	req, _ := http.NewRequest("POST", "https://api.pdfblocks.com/v1/reverse_pages", &buf)
	req.Header.Set("Content-Type", form.FormDataContentType())
	req.Header.Set("X-API-Key", "your_api_key")

	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()

	out, _ := os.Create("reversed.pdf")
	defer out.Close()
	io.Copy(out, res.Body)
}
C#csharp
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-API-Key", "your_api_key");

using var form = new MultipartFormDataContent
{
    { new ByteArrayContent(File.ReadAllBytes("input.pdf")), "file", "input.pdf" },
};

var response = await client.PostAsync(
    "https://api.pdfblocks.com/v1/reverse_pages", form);
response.EnsureSuccessStatusCode();
await File.WriteAllBytesAsync(
    "reversed.pdf", await response.Content.ReadAsByteArrayAsync());

Réponse

En cas de succès, la réponse est 200 OK et le PDF inversé constitue le corps :

HTTP/1.1 200 OK
Content-Type: application/pdf
Content-Length: 48213

La sortie conserve le contenu et les dimensions de chaque page : seul leur ordre est inversé. Écrivez le corps directement dans un fichier, comme le font les exemples ci-dessus ; rien n’est stocké de notre côté.

Erreurs

Les requêtes en échec renvoient un corps application/problem+json. L’erreur la plus fréquente sur cet endpoint est un 400, renvoyé lorsque file n’est pas un PDF lisible : l’objet errors nomme chaque champ :

{
  "type": "https://www.pdfblocks.com/docs/api/v1/error/400",
  "title": "One or more validation errors occurred.",
  "status": 400,
  "errors": {
    "file": ["Could not parse the PDF document. The file may be invalid or corrupt."]
  }
}

Une X-API-Key absente ou non valide renvoie un 401. Consultez Erreurs pour tous les codes de statut et la forme complète de la réponse.

Actions associées