Editor de PDF de escritorio · Procesamiento local
Meu editor de PDF

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.

App de escritorioPDFPropio

  • Tauri
  • Rust
  • PDFium
  • React
Editor de PDF de escritorio · Procesamiento local
Meu editor de PDF

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.

App de escritorioPDFPropio

  • Tauri
  • Rust
  • PDFium
  • React

PortafolioMeu editor de PDF

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

#0 DADOS DO APARTAMENTO#1 Quadro na Área de ServiçoDADOS DO APARTAMENTO

La decisión

  1. 1¿Quién contiene el punto central (base + 0,32 del cuerpo)?
  2. 2¿Quién cruza la caja del fragmento (−0,25 a +0,9 del cuerpo)?
  3. 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.

Escena del proyecto: el editor abierto con la ventana de edición de texto y, al frente, un gran Aa dorado sobre papeles

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.

Escena del proyecto: el editor en dos monitores, uno en tema oscuro y otro en claro, con papeles y una pluma

Claro u oscuro. Deshacer en 20 pasos.

Tauri 2, Rust y PDFium con React y TypeScript.

Proyecto propio

Deshacer 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.

100%

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