Censure texto en PDF
Escriba «falcon» una sola vez y las tres formas de una frase, Falcon, FALCON y falcon, pasan a ████, con un recuento de 3 que lo confirma. Úselo con el texto extraído de un PDF antes de compartirlo, indexarlo o guardarlo. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Términos
- falcon
- Cantidad censurada
- 3
La herramienta de censura de texto PDF elimina todas las apariciones, sin distinguir mayúsculas y minúsculas, de los términos que usted indique en el texto extraído de un PDF. Cada coincidencia detectada se sustituye por un marcador negro visible y la respuesta informa además del número exacto de sustituciones. Resulta útil cuando un flujo ya dispone de texto seleccionable o extraído y necesita sanearlo de forma predecible antes de revisarlo, indexarlo, compartirlo o almacenarlo. La búsqueda es literal y determinista, por lo que la puntuación de un término se interpreta como puntuación y no como una instrucción de patrón.
Prepare el texto del PDF y la lista de censura
Comience con el texto extraído de un PDF y conserve la redacción y los saltos de línea que importen para la siguiente etapa de su flujo. Envíe ese contenido en el campo text y añada una o varias cadenas literales a la lista terms. Un término puede ser un nombre, una referencia de cuenta, la etiqueta de un proyecto, parte de una dirección o cualquier secuencia exacta que ya no deba aparecer.
La búsqueda no distingue mayúsculas y minúsculas; por ello, una sola entrada como «Falcon» también encuentra «FALCON» y «falcon». Los términos no son expresiones regulares. Los puntos, corchetes, signos de suma e interrogación se buscan como caracteres ordinarios, lo que evita que un término inocente se convierta en un patrón imprevisto.
Las listas vacías se rechazan porque devolver el texto intacto podría dar la falsa impresión de que se aplicó la censura. También se rechazan las cadenas vacías. Este contrato explícito permite detener un proceso automático cuando falta una regla, en vez de enviar información sensible a la etapa siguiente.
Comprenda cómo se buscan y sustituyen las coincidencias
La herramienta recorre el texto original de principio a fin y sustituye cada coincidencia no solapada por el marcador fijo «████». Los términos duplicados que solo difieren en mayúsculas se consideran una única búsqueda, lo que impide contar dos veces el mismo fragmento. Si varios términos pueden comenzar en el mismo carácter, se prueba primero el más largo.
Por ejemplo, si incluye «North» y «North Harbor», se censura la frase completa cuando aparece en esa posición. Las sustituciones nunca se encadenan: los marcadores insertados forman parte de la salida y no se vuelven a buscar. El recuento puede ser cero si la lista es válida pero no aparece ningún término.
Ese resultado confirma que la operación terminó correctamente, mientras que una lista vacía o inválida genera un error. La búsqueda es literal y no deduce límites de palabra, por lo que un término corto también puede coincidir dentro de una palabra más larga. Incluya la frase exacta que desea retirar.
Utilice el resultado con seguridad en su flujo documental
Esta capacidad trabaja con el texto PDF que aporta quien realiza la solicitud; no modifica los gráficos de las páginas, las anotaciones, las capas ocultas, los metadatos ni el archivo binario original. Úsela cuando el propio texto extraído sea el resultado que se mostrará, indexará, resumirá, registrará o enviará a otro sistema. Si necesita publicar un PDF censurado visualmente, aplique una censura nativa al documento de origen y compruebe que el contenido subyacente no pueda recuperarse.
Puede guardar el recuento y la versión de la política en un registro de auditoría sin conservar el original sensible. Revise cuidadosamente la lista: la búsqueda literal es predecible, pero no descubre variantes que usted no haya incluido. La misma lógica determinista funciona sin acceso a red, por lo que las llamadas repetidas con entradas idénticas producen resultados estables.
Qué puede hacer con ella
Sanear texto antes de indexarlo
Elimine nombres de clientes, etiquetas internas o números de referencia antes de incorporar el texto PDF a un índice de búsqueda.
Preparar una copia para revisión
Genere una versión textual claramente marcada para revisores que deban leer el documento sin ver ciertos términos confidenciales.
Aplicar una política de términos conocidos
Use una lista aprobada de frases sensibles en un flujo automático y registre el número de sustituciones para auditoría.
Preguntas frecuentes
¿La búsqueda distingue mayúsculas y minúsculas?
No. Una sola entrada cubre las apariciones en mayúsculas, minúsculas y combinaciones de ambas.
¿Los términos se interpretan como expresiones regulares?
No. Cada término se trata literalmente, incluida la puntuación y los caracteres especiales de las expresiones regulares.
¿Esta herramienta modifica el archivo PDF original?
No. Censura texto ya extraído y no altera el binario PDF, los gráficos, los metadatos ni el contenido oculto.
¿Un término corto puede tachar parte de una palabra más larga?
Sí. La búsqueda no respeta los límites de palabra, así que un término corto también se encuentra dentro de otra palabra. Escriba la frase exacta que quiere eliminar para no ocultar más de la cuenta.
¿Por qué el recuento puede salir en cero?
Un cero indica que la lista era válida pero ninguno de sus términos aparece en el texto, lo que confirma que el paso se hizo. Una lista vacía, en cambio, se rechaza para que nadie crea que hubo censura.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/pdf/redact-text \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Project Falcon belongs to FALCON Holdings.","terms":["falcon"]}'const res = await fetch("https://api.kit.forhosting.com/pdf/redact-text", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Project Falcon belongs to FALCON Holdings.",
"terms": [
"falcon"
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/redact-text",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Project Falcon belongs to FALCON Holdings.",
"terms": [
"falcon"
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/redact-text", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Project Falcon belongs to FALCON Holdings.","terms":["falcon"]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Project Falcon belongs to FALCON Holdings.","terms":["falcon"]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/redact-text", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"text": "Project Falcon belongs to FALCON Holdings.",
"terms": [
"falcon"
]
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.redact_text",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_mb | 25 |
max_pages | 200 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Comprenda cómo se buscan y sustituyen las coincidencias
La respuesta contiene redacted_text y redacted_count, de modo que usted puede usar el texto saneado y comprobar por separado cuánto cambió.
Utilice el resultado con seguridad en su flujo documental
Un flujo automático práctico extrae el texto, envía el texto junto con una lista de términos aprobada, compara redacted_count con un mínimo esperado y conserva únicamente redacted_text en los sistemas posteriores de búsqueda o revisión. El precio de la API es $0.002 por solicitud.
Preguntas técnicas
¿Qué ocurre si no se encuentra ningún término?
El texto original se devuelve sin cambios y redacted_count vale cero.
¿Qué ocurre si la lista de términos está vacía?
La solicitud falla con un error invalid_input porque se exige al menos un término no vacío.