API de Fachadas
Fachadas API
La API Facades proporciona envoltorios simplificados y orientados a tareas alrededor del modelo de objetos central de Aspose.PDF FOSS para .NET. Cada clase fachada se dirige a una operación PDF específica — form filling, file concatenation, content editing o digital signing — y expone un flujo de trabajo BindPdf / Save.
Rellenado de formularios con la fachada Form
Form (en Aspose.Pdf.Facades) se vincula a un PDF existente y le permite leer o escribir valores de campos AcroForm sin navegar por el árbol de páginas.
using var form = new Form("input.pdf", "output.pdf");
form.FillField("FirstName", "Alice");
form.FillField("AcceptTerms", "Yes");
form.Save();Para leer los valores de los campos:
using var form = new Form("input.pdf");
string name = form.GetField("FirstName");Fusionar y dividir PDFs con PdfFileEditor
PdfFileEditor concatena, divide, extrae y elimina rangos de páginas.
var editor = new PdfFileEditor();
// Concatenate two files
editor.Concatenate("file1.pdf", "file2.pdf", "merged.pdf");
// Extract pages 2-5
editor.Extract("source.pdf", 2, 5, "pages2to5.pdf");
// Split at page 3
editor.SplitFromFirst("source.pdf", 3, "first3.pdf");Edición de contenido de página con PdfContentEditor
PdfContentEditor modifica el contenido de la página existente — agregar texto, reemplazar texto o adjuntar acciones a las anotaciones.
var editor = new PdfContentEditor();
editor.BindPdf("input.pdf");
// Perform content edits
editor.Save("output.pdf");Firmas digitales con PdfFileSignature
PdfFileSignature firma documentos PDF y verifica firmas existentes.
var sig = new PdfFileSignature();
sig.BindPdf("document.pdf");
// Sign or verify
sig.Save("signed.pdf");Estampado de página con PdfFileStamp
PdfFileStamp superpone texto, imágenes o otras páginas PDF como sellos.
var stamp = new PdfFileStamp();
stamp.BindPdf("input.pdf");
// Add stamps
stamp.Save("stamped.pdf");
stamp.Close();Convertir páginas a imágenes con PdfConverter
PdfConverter renderiza páginas PDF a formatos de imagen raster.
var converter = new PdfConverter();
converter.BindPdf("input.pdf");
converter.DoConvert();
// Iterate pages and save imagesConsejos y Mejores Prácticas
- Siempre llame a
Close()o useusingpara liberar los recursos mantenidos por los objetos fachada. - Utilice
BindPdfcon una ruta de archivo para archivos grandes y evitar cargar todo en memoria de una sola vez. - Prefiera
TryConcatenateyTryAppendsobre sus contrapartes sin Try para un manejo de errores más elegante. - Las fachadas delegan internamente al modelo central
Document— cambie a la API central cuando necesite un control más granular. - La fachada
FormEditorpermite agregar nuevos campos de formulario a un PDF existente, no solo rellenar los existentes.
Problemas comunes
| Issue | Cause | Fix |
|---|---|---|
Save() produce archivo vacío | BindPdf no se llamó antes de guardar | Siempre vincule un PDF de origen antes de llamar a Save |
| Valor del campo de formulario no escrito | El nombre del campo no coincide con el nombre interno del PDF | Use Form.FieldNames para listar los nombres de campo disponibles |
| La concatenación falla silenciosamente | El archivo de entrada está cifrado o corrupto | Use TryConcatenate y verifique el valor de retorno |
| Firmas inválidas después de editar | El contenido se modificó después de firmar | Firme el documento como paso final |
Preguntas frecuentes
¿Cuál es la diferencia entre Facades y la API central de Document?
Las fachadas proporcionan métodos de alto nivel y orientados a tareas (llenar un formulario, combinar archivos).
La API central (Document, Page, Annotation) brinda acceso de bajo nivel a cada objeto PDF.
Las fachadas usan la API central internamente.
¿Puedo encadenar múltiples operaciones de fachada?
Sí. Vincula la misma fuente, realiza operaciones y guarda una sola vez. O guarda un resultado intermedio y vuelve a vincular para la siguiente operación.
¿PdfFileEditor admite PDFs protegidos con contraseña?
Sí. Sobrecargas que aceptan contraseñas de propietario/usuario están disponibles para archivos cifrados.
Resumen de la referencia API
| Clase / Método | Descripción |
|---|---|
Form | Fachada AcroForm para leer y escribir valores de campos |
Form.FillField | Establecer el valor de un campo de formulario por nombre |
Form.GetField | Leer el valor de un campo de formulario por nombre |
FormEditor | Agregar o modificar campos de formulario en un PDF existente |
PdfFileEditor | Combinar, dividir, extraer y eliminar rangos de páginas PDF |
PdfFileEditor.Concatenate | Combinar dos o más PDFs en uno |
PdfFileEditor.Extract | Extraer un rango de páginas a un nuevo PDF |
PdfContentEditor | Modificar el contenido de la página (texto, anotaciones, acciones) |
PdfFileSignature | Firmar y verificar firmas digitales PDF |
PdfFileStamp | Superponer texto o sellos de imagen en páginas |
PdfConverter | Renderizar páginas PDF a imágenes raster |
FormattedText | Descriptor de texto con estilo para operaciones de sello |
FontStyle | Enumeración de estilos de fuente (negrita, cursiva, etc.) |
EncodingType | Enumeración de codificación de caracteres |