CloudPDF
DocsPricing
Start building

Read measurement viewports

GET/v1/docs/{docId}/layers/{layerName}/pages/{pageKey}/viewportsv3.0.0-next.15

Read page measurement viewports in drawing order from the current layer.

Authentication#

Any one of these credentials is accepted.

API token

The deployment's static root credential (CLOUDPDF_API_AUTH_TOKENS), valid on every surface.

Document token

Doc-scoped JWT, valid only on the /v1/docs/{docId} subtree it names, gated by the capability scopes it carries (each operation's x-required-capability).

Document capabilitydoc.open

Parameters#

docIdpathstringrequired
layerNamepathstringrequired
pageKeypathstringrequired
X-Document-Passwordheaderstring

Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.

SDK examples#

The selected SDK is remembered across the API reference. Values are examples; replace them with identifiers and input from your application.

import { CloudPDFClient } from "@cloudpdf/sdk";

const client = new CloudPDFClient({
  baseUrl: "https://yourhost.com/path/to/api",
  token: "<token>",
});

await client.doc.pages.viewports({
  docId: "docId",
  layerName: "layerName",
  pageKey: "pageKey"
});

Responses#

200OK
application/jsonDocPagesViewports200Response
viewportsobject[]
bboxobject
xnumber
ynumber
widthnumber
heightnumber
namestring
measure"rectilinear" | "geospatial" | "unknown"
subtype =
subtype"rectilinear"
ratiostringoptional
xobject[]
unitstring
conversionnumberoptional
fraction"decimal" | "fraction" | "round" | "truncate"optional
precisionintegeroptional
fixedbooleanoptional
thousandsstringoptional
decimalstringoptional
prefixSpacingstringoptional
suffixSpacingstringoptional
labelPosition"suffix" | "prefix"optional
yobject[]optional
unitstring
conversionnumberoptional
fraction"decimal" | "fraction" | "round" | "truncate"optional
precisionintegeroptional
fixedbooleanoptional
thousandsstringoptional
decimalstringoptional
prefixSpacingstringoptional
suffixSpacingstringoptional
labelPosition"suffix" | "prefix"optional
distanceobject[]
unitstring
conversionnumberoptional
fraction"decimal" | "fraction" | "round" | "truncate"optional
precisionintegeroptional
fixedbooleanoptional
thousandsstringoptional
decimalstringoptional
prefixSpacingstringoptional
suffixSpacingstringoptional
labelPosition"suffix" | "prefix"optional
areaobject[]
unitstring
conversionnumberoptional
fraction"decimal" | "fraction" | "round" | "truncate"optional
precisionintegeroptional
fixedbooleanoptional
thousandsstringoptional
decimalstringoptional
prefixSpacingstringoptional
suffixSpacingstringoptional
labelPosition"suffix" | "prefix"optional
angleobject[]optional
unitstring
conversionnumberoptional
fraction"decimal" | "fraction" | "round" | "truncate"optional
precisionintegeroptional
fixedbooleanoptional
thousandsstringoptional
decimalstringoptional
prefixSpacingstringoptional
suffixSpacingstringoptional
labelPosition"suffix" | "prefix"optional
slopeobject[]optional
unitstring
conversionnumberoptional
fraction"decimal" | "fraction" | "round" | "truncate"optional
precisionintegeroptional
fixedbooleanoptional
thousandsstringoptional
decimalstringoptional
prefixSpacingstringoptional
suffixSpacingstringoptional
labelPosition"suffix" | "prefix"optional
originobjectoptional
xnumber
ynumber
cyxnumberoptional
ownedboolean
404Not found
application/jsonDocPagesViewports404Response
defaultError
application/jsonEngineErrorPayload
name"EngineError"
code"Unknown" | "InvalidArg" | "DocNotOpen" | "DocOpenFailed" | "DocPasswordRequired" | "DocPasswordIncorrect" | "SharePasswordRequired" | "Aborted" | "Network" | "Unauthenticated" | "Forbidden" | "NotFound" | "WireFormat" | "RuntimeUnavailable" | "LayerVersionConflict" | "NotImplemented" | "MalformedPdf" | "SigningPending" | "SigningExpired" | "SigningVersionMismatch" | "SignatureRefused" | "ProtectedDocument" | "StaleBase" | "PayloadTooLarge" | "ObjectNumberUnavailable" | "LayerFull" | "ChangeConflict" | "UndoUnavailable" | "IdempotencyKeyReused"
messagestring
detailsobjectoptional