PDF Redaction

Anonimizar PDF con entrada base64

Anonimice un archivo PDF detectando y redactando PII (Información de Identificación Personal). Acepta PDF como cadena codificada en base64 en el cuerpo de la solicitud. Devuelve PDF anonimizado, entidades PII detectadas y métricas de procesamiento. Admite múltiples idiomas OCR, detección de texto rotado y detección personalizable de etiquetas PII. Solo procesa la primera página del PDF.

POST
/api/anonymize/pdf
AuthorizationBearer <token>

In: header

Request Body

application/json

pdf*string

Base64-encoded PDF document to be processed

tags?Tags

List of predefined PII tags to detect and redact. If empty, all available tags are used. Available values: DATE, PERSON_NAME, ORGANIZATION, LOCATION, EMAIL, PHONE, ID, ACCOUNT, ZIP_CODE, ADDRESS, IP, URL, SSN, DRIVER_LICENSE, PASSPORT, PASSWORD, AGE, CREDIT_CARD, MONEY_AMOUNT, SIGNATURE, QR_CODE, FACE

force_ocr?boolean

Force OCR processing even if text is extractable from PDF

Defaultfalse
ocr_langs?Ocr Langs

List of OCR languages to use for text recognition. Multiple languages can be specified for multilingual documents Available values: eng, spa, fra, deu, ita, por, rus

Default["eng"]
rotated_text?boolean

Enable detection and recognition of rotated text in the document

Defaultfalse
redact_text?boolean

Enable text redaction using NER. When enabled, detected PII entities are redacted (blacked out) in the output PDF

Defaulttrue
min_chunk_size?integer

Minimum chunk size for text processing. Used to control text segmentation for NER processing. Larger values may improve accuracy but increase processing time

Default0
custom_tags?|null

List of custom tags to detect and redact. These tags are added to the standard PII tags

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://api.pdf-redaction.com/api/anonymize/pdf" \  -H "Content-Type: application/json" \  -d '{    "force_ocr": true,    "pdf": "base64_encoded_pdf_string"  }'
{
  "pdf": "base64_encoded_pdf_string",
  "detected_pii": {
    "path": "memory",
    "entities": [
      {
        "entity_group": "PERSON_NAME",
        "score": 0.95,
        "word": "John Doe",
        "start": 0,
        "end": 8,
        "boxes": [
          {
            "text": "John Doe",
            "score": 0.95,
            "x": 100,
            "y": 200,
            "width": 150,
            "height": 25
          }
        ]
      },
      {
        "entity_group": "EMAIL",
        "score": 0.98,
        "word": "[email protected]",
        "start": 0,
        "end": 20,
        "boxes": [
          {
            "text": "[email protected]",
            "score": 0.98,
            "x": 100,
            "y": 250,
            "width": 200,
            "height": 25
          }
        ]
      }
    ],
    "exception": "",
    "json": ""
  },
  "processing_time": {
    "total": 2.9577243328094482,
    "stages": {
      "PdfDataToSingleImage": 0.5639204978942871,
      "PdfDataToDocument": 0.0037207603454589844,
      "Ocr": 0.0004279613494873047,
      "Ner": 1.7787754535675049,
      "ImageDrawBoxes": 0.5246167182922363,
      "SingleImageToPdf": 0.08531355857849121
    }
  }
}
{
  "error_code": "NER_CALL_ERROR",
  "message": "string"
}
{
  "error_code": "UNAUTHORIZED",
  "message": "Invalid token"
}
{
  "error_code": "FORBIDDEN",
  "message": "Missing credentials: provide X-API-Key or Authorization: Bearer token"
}
{
  "error_code": "PROCESSING_ERROR",
  "message": "Failed to process the PDF file"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}
{
  "error_code": "TOO_MANY_REQUESTS",
  "message": "Rate limit exceeded: 5 per 1 minute"
}