Ruoti pagine PDF di 90, 180 o 270 gradi
La rotazione delle pagine PDF corregge documenti con fogli laterali o capovolti senza modificare tutte le pagine.
Esegui gratis nel browser
Funziona nel tuo browser: gratis, senza registrazione, i file non escono dal tuo dispositivo.
Fornisca un PDF classico, indichi le pagine con una selezione che parte da 1, come 2,4-6, e scelga un angolo orario di 90, 180 o 270 gradi. Il risultato è un PDF ricostruito nel quale la rotazione viene applicata soltanto alle pagine selezionate. L’elaborazione è deterministica e locale alla richiesta, senza rete, valori casuali, marcature temporali o conservazione dei file.
Scelga con precisione quali pagine ruotare
Inizi individuando le pagine con orientamento errato nell’ordine attuale del documento. La selezione utilizza una numerazione che parte da 1: la prima pagina visibile è 1, la seconda è 2 e così via. Può indicare pagine singole separate da virgole, scrivere un intervallo inclusivo con un trattino oppure combinare le due forme. Per esempio, 1,3-5 ruota la prima, la terza, la quarta e la quinta pagina, lasciando invariata la pagina 2. I numeri ripetuti sono accettati, ma vengono elaborati una sola volta, così il risultato rimane prevedibile. Gli intervalli devono procedere in avanti e ogni numero selezionato deve esistere nel PDF. Se il documento contiene sei pagine, una selezione che termina con 7 viene rifiutata invece di essere accorciata senza avviso. Questo comportamento rigoroso è utile nei flussi automatici, perché una selezione non aggiornata non può produrre accidentalmente un documento corretto solo in parte. Controlli il numero di pagine prima di applicare una selezione salvata a un nuovo rapporto, scansione, gruppo di fatture o presentazione.
Selezioni l’angolo orario corretto
L’angolo descrive la rotazione oraria applicata a ogni pagina selezionata. Scelga 90 quando il contenuto appoggiato sul lato sinistro richiede un quarto di giro, 180 quando è capovolto oppure 270 quando serve un quarto di giro nel verso opposto. Sono accettati soltanto questi valori. Un angolo di 0 non svolgerebbe alcun lavoro utile, mentre angoli arbitrari come 45 gradi richiederebbero una modifica della geometria della pagina e potrebbero tagliare il contenuto; per questo vengono rifiutati come input non valido. La rotazione già presente viene rispettata, non sovrascritta. Se una pagina ha già una rotazione di 90 gradi e Lei ne richiede altri 90, la rotazione risultante diventa 180 gradi. Il calcolo riparte correttamente dopo un giro completo. Le operazioni ripetute restano quindi comprensibili e consentono di correggere file con orientamenti misti senza dover indovinare se uno strumento precedente abbia salvato metadati di rotazione. L’output riporta inoltre l’angolo applicato e i numeri delle pagine selezionate.
Conosca la struttura PDF supportata e l’output
Questa capacità legge PDF classici le cui pagine sono rappresentate come normali oggetti pagina indiretti, quindi ricostruisce una tabella di riferimenti incrociati valida. Conserva il corpo di ogni oggetto indiretto, modifica soltanto la voce di rotazione nei dizionari delle pagine selezionate e scrive gli oggetti in un ordine numerico stabile. In questo modo, input identici producono output identici, una proprietà utile per test, cache e registri di controllo. I PDF che memorizzano la struttura in flussi di oggetti compressi o flussi di riferimenti incrociati vengono rifiutati con un errore chiaro, invece di essere riscritti in modo incompleto. Se il documento originale usa tale struttura recente, lo salvi o lo esporti come PDF classico prima di ruotarlo qui. L’oggetto restituito contiene il testo PDF ricostruito, i numeri delle pagine selezionate a partire da 1 e l’angolo accettato. La trasformazione non usa rete, modelli, marcature temporali o identificatori casuali. Il browser è adatto alle correzioni interattive, mentre le chiamate API costano $0.002 per richiesta.
Casi d'uso
Correggere scansioni con orientamenti misti
Ruoti soltanto i fogli entrati lateralmente nello scanner e conservi le pagine che hanno già l’orientamento corretto.
Riparare rapporti assemblati
Corregga allegati orizzontali o inserti capovolti dopo l’unione di più documenti originali.
Automatizzare l’acquisizione documentale
Applichi una regola di selezione nota a pacchetti PDF ricorrenti e registri quali pagine sono state modificate.
Domande frequenti
Quali angoli di rotazione sono accettati?
Sono accettate soltanto rotazioni orarie di 90, 180 e 270 gradi. Qualsiasi altro valore restituisce un errore di input non valido.
Come posso selezionare più pagine?
Usi numeri a partire da 1 separati da virgole, intervalli inclusivi come 3-5 oppure una combinazione come 1,3-5.
Che cosa accade alle pagine non selezionate?
I relativi dizionari di pagina restano invariati. Solo gli oggetti selezionati ricevono una voce di rotazione aggiornata.
Lo strumento conserva una rotazione esistente?
Sì. L’angolo richiesto viene aggiunto alla rotazione esistente e il risultato viene normalizzato entro un giro completo.
Perché la struttura del mio PDF è stata rifiutata?
L’analizzatore deterministico supporta oggetti indiretti classici e tabelle di riferimenti incrociati, non flussi compressi di oggetti o riferimenti.
Quanto costa una richiesta API?
Ogni richiesta API costa $0.002. L’esecuzione interattiva nel browser è disponibile senza chiamate di rete.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/pdf/rotate-pages \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"pdf":"https://ejemplo.com/documento.pdf","pages":"2","angle":90}'const res = await fetch("https://api.kit.forhosting.com/pdf/rotate-pages", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"pdf": "https://ejemplo.com/documento.pdf",
"pages": "2",
"angle": 90
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/rotate-pages",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"pdf": "https://ejemplo.com/documento.pdf",
"pages": "2",
"angle": 90
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/rotate-pages", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"pdf":"https://ejemplo.com/documento.pdf","pages":"2","angle":90}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"pdf":"https://ejemplo.com/documento.pdf","pages":"2","angle":90}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/rotate-pages", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"pdf": "https://ejemplo.com/documento.pdf",
"pages": "2",
"angle": 90
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.rotate_pages",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_mb | 25 |
max_pages | 200 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |