Editor de PDF de escritorio · Procesamiento local
Edita el texto.Preserva la identidad.
Fuente, cuerpo, color y posición respetados al editar.
Cambia el texto de un PDF preservando la fuente, y rechaza cuando no se puede.
- Tauri
- Rust
- PDFium
- React
Editor de PDF de escritorio · Procesamiento local
Edita el texto.Preserva la identidad.
Fuente, cuerpo, color y posición respetados al editar.
- Tauri
- Rust
- PDFium
- React
Cambia el texto de un PDF preservando la fuente, y rechaza cuando no se puede.
- Tauri
- Rust
- PDFium
- React
El clic en el texto
La pantalla y el motor leen el PDF distinto. La geometría los une.
Lo que ves viene de una biblioteca; lo que el programa edita viene de otra, y cortan el texto de formas distintas. Para saber qué objeto editar, el programa no adivina: pregunta, en tres pasos, qué caja contiene el punto. Arrastra el fragmento y mira la decisión cambiar.
Arrastra el fragmento (naranja) en la página
La decisión
- 1¿Quién contiene el punto central (base + 0,32 del cuerpo)?
- 2¿Quién cruza la caja del fragmento (−0,25 a +0,9 del cuerpo)?
- 3¿Quién está más cerca (hasta 1,5 cuerpo y 2× mejor que el segundo)?
#0 contiene el centro del fragmento, es él.
- Fragmento
- DADOS DO APARTAMENTO
- x · y
- 40 · 92 pt
- Objetos
- 2
Las reglas son las del programa (matchObject.ts): el punto es la línea de base más 0,32 del cuerpo; la caja va de −0,25 a +0,9 del cuerpo; sin un ganador claro, rechaza en vez de editar el texto equivocado. La página y los objetos aquí son de ejemplo, en puntos de PDF.

Cada fuente tiene sus límites. El editor los muestra.
Inspección de fuentes y caracteres disponibles antes de aplicar.
Un PDF suele llevar solo los caracteres que usa de cada fuente. Antes de cambiar un texto, el programa lee el nombre de la fuente, el permiso del fabricante y los caracteres que tiene, y después de grabar, relee para comprobar. Elige una fuente, escribe y aplica.
La fuente del fragmento
Lo que dice el nombre
- Subconjunto
- Sí
- Familia
- Segoe
- Peso
- 700
- Cursiva
- No
- Permiso del fabricante (fsType)
- 0, instalable, sin restricción
Caracteres disponibles (clic para insertar)
- Ya estaba en el original
- Nueva, la fuente la tiene
- La fuente no la tiene
Las reglas son las del programa (pdf_engine.rs y font_rights.rs): 6 mayúsculas y + en el nombre indican subconjunto; el permiso 4 o 2 solo bloquea caracteres nuevos; después de grabar, el motor relee el texto y, si algo no salió, no graba. Más de 0,5 pt de ancho cuenta como más ancho. Las fuentes y el ancho aquí son de ejemplo.

Claro u oscuro. Deshacer en 20 pasos.
Tauri 2, Rust y PDFium con React y TypeScript.
Proyecto propioDeshacer una edición de PDF invirtiendo la operación no devuelve el archivo exacto. Por eso el programa guarda una copia entera en cada paso, y se detiene en 20, para no trabarse. Edita, deshaz con Ctrl+Z y mira la pila llenarse y olvidar.
CABLEADO ELÉCTRICO
DATOS DEL DEPARTAMENTO
Tablero en el lavadero
Cocina al lado del lavadero
TABLERO DE DISTRIBUCIÓN
C1 10A Iluminación Sala
Copias guardadas0/20
Memoria (PDF de 5 MB)0 × 5 MB = 0 MB
Las pantallas reales
Las reglas son las del programa (useHistory.ts): cada paso guarda los bytes del documento; el límite es 20 y el 21.º descarta el más antiguo; editar después de deshacer borra lo que estaba adelante. Ctrl+Z deshace, Ctrl+Y o Ctrl+Shift+Z rehacen, Ctrl+S guarda. El zoom va de 25% a 400%. El documento aquí es de ejemplo.
Las tecnologías
De qué está hecho, pieza por pieza
Dos bibliotecas de PDF trabajando juntas: pdf.js dibuja la página en pantalla, y PDFium, llamado desde Rust, hace la edición de verdad, con 23 comandos entre la pantalla y el motor. Elige una pieza para ver qué hace aquí y en qué archivo está.
8tecnologías, en 2 capas
Pantalla
Motor




Aplicaciones de escritorioWebRecorder Pro