1. Productos
  2.   Aspose.PDF
  3.   Aspose.PDF FOSS for Go

Aspose.PDF FOSS para Go

Biblioteca Pure-Go para crear, editar, combinar y asegurar documentos PDF — de código abierto bajo MIT, cero dependencias que no sean Go.

Aspose.PDF FOSS — Biblioteca Go PDF de código abierto

Aspose.PDF FOSS for Go es una biblioteca pure-Go que permite a los desarrolladores crear, leer, editar, combinar, divide y protege documentos PDF sin ninguna dependencia nativa externa. Construido para el lado del servidor Aplicaciones Go, se integra en cualquier proyecto de módulo Go con un solo go get github.com/aspose-pdf-foss/aspose-pdf-foss-for-go comando.

La biblioteca expone una superficie de API completa a través de los Document, Page, Form, Table, y tipos AnnotationCollection, cubriendo la gestión de documentos, el llenado de AcroForm, tabla estructurada diseño, navegación de marcadores, manejo de imágenes y validación de integridad estructural. Las características de seguridad incluyen Cifrado AES-128, AES-256 y RC4-128 mediante EncryptionOptions y Permissions, con control de acceso granular por operación. Aspose.PDF FOSS para Go se publica bajo la licencia MIT sin tarifas de tiempo de ejecución ni restricciones de uso. Requiere Go 1.24 o posterior. Para funciones empresariales y soporte, consulte Aspose.PDF for Go — Enterprise Product.

Operaciones de documentos

  • Abrir, crear, guardar y cerrar archivos PDF a través de Document
  • Dividir un documento en instancias Document por página
  • Agregar varios PDFs en el mismo lugar usando Append
  • Extraer subconjuntos de páginas usando PageRange para exportaciones parciales
  • Leer y escribir metadatos de documentos XMP a través del tipo XMPMetadata

Escenarios prácticos

  • Dividir por lotes los PDFs entrantes en archivos de página individuales
  • Ensambla informes mensuales a partir de los PDFs de la sección
  • Extraer rangos de páginas para flujos de trabajo redacted-copy
  • Actualizar el autor del documento y la fecha de creación programáticamente

Seguridad y permisos

  • Cifre PDFs con AES-128, AES-256 o RC4-128 mediante EncryptionOptions
  • Establezca las contraseñas de usuario y propietario en una única llamada SetEncryption
  • Restringir la impresión, la copia y la accesibilidad usando Permissions
  • Abrir archivos protegidos con contraseña con OpenWithPassword
  • Eliminar el cifrado y producir copias descifradas cuando sea necesario

Escenarios prácticos

  • Entregue informes confidenciales con contraseñas por destinatario
  • Aplicar permisos de solo impresión en contratos distribuidos
  • Volver a cifrar los documentos después de la marca de agua in situ
  • Produce copias de archivo en texto plano a partir de originales protegidos

Procesamiento de AcroForm

  • Enumere todos los campos de un formulario usando Form y Field
  • Establecer valores de texto en instancias de TextBoxField por nombre de campo
  • Alternar CheckboxField y seleccionar RadioButtonField opciones
  • Elija los elementos en los controles ComboBoxField y ListBoxField
  • Activar acciones ButtonField en documentos de formulario interactivo

Escenarios prácticos

  • Automatizar pipelines de llenado de facturas y contratos
  • Pre‑llenar plantillas de aplicación antes de la distribución de PDF
  • Extraer valores de campos completados para el procesamiento de datos posterior
  • Validar la presencia del campo requerido antes del archivado

Tablas y diseño estructurado

  • Cree diseños de cuadrícula con los tipos Table, Row y Cell
  • Aplicar estilos de borde a través de BorderInfo por celda o tabla
  • Establecer relleno y espaciado con MarginInfo
  • Estiliza el texto con TextStyle, Font, Color, HAlign y VAlign
  • Incruste imágenes dentro de celdas de tabla usando Image

Escenarios prácticos

  • Genera facturas y estados financieros con datos tabulares
  • Renderizar horarios o tablas de comparación en los informes generados
  • Genera PDFs basados en datos a partir de los resultados de consultas a la base de datos
  • Cree tablas accesibles con bordes y espaciado consistentes

Marcadores y navegación

  • Cree árboles de marcadores jerárquicos a través de OutlineItemCollection
  • Establecer estilos de negrita/cursiva y colores personalizados en los elementos del esquema
  • Vincula marcadores a coordenadas exactas usando DestinationXYZ
  • Utilice destinos de ajuste de página con DestinationFit
  • Registre destinos de salto con nombre a través de NamedDestinations

Escenarios prácticos

  • Agregar marcadores de capítulos y secciones a documentos de formato largo
  • Cree tablas de contenido interactivas para manuales técnicos
  • Habilitar la navegación de enlaces profundos desde hipervínculos externos
  • Conservar la estructura de marcadores al combinar varios documentos

Anotaciones y sellos

  • Por favor, proporcione el texto que desea traducir.
  • Cree llamadas de texto con TextAnnotation y FreeTextAnnotation
  • Aplicar sellos de aprobación a través de StampAnnotation y StampName
  • Resaltar contenido con HighlightAnnotation
  • Redacta regiones sensibles usando RedactAnnotation

Escenarios prácticos

  • Agregar comentarios del revisor a los documentos borrador para su aprobación
  • Estampar APPROVED o CONFIDENTIAL en PDFs finalizados
  • Redactar permanentemente datos personales para archivos compatibles con GDPR
  • Incruste hipervínculos y acciones URI a través de LinkAnnotation

Dividir y combinar PDFs

Abra un PDF, divídalo en documentos por página o combine varios archivos en uno.

doc, _ := pdf.Open("input.pdf")
pages, _ := doc.Split()
for i, p := range pages {
    p.Save(fmt.Sprintf("page%03d.pdf", i+1))
}
doc2, _ := pdf.Open("file2.pdf")
doc.Append(doc2)
doc.Save("merged.pdf")

Cifrar con Permisos

Aplicar cifrado AES-128 con permisos granulares de impresión y copia en una sola llamada.

doc, _ := pdf.Open("input.pdf")
doc.SetEncryption(pdf.EncryptionOptions{
    UserPassword:  "userpass",
    OwnerPassword: "ownerpass",
    Permissions:   &pdf.Permissions{AllowPrint: true, AllowCopy: true},
})
doc.Save("restricted.pdf")

Rellenar campos AcroForm

Apunte a los campos del formulario por nombre y establezca valores para todos los tipos de widget.

doc, _ := pdf.Open("template.pdf")
text := doc.Form().Field("name").(*pdf.TextBoxField)
text.SetValue("Jane Doe")
check := doc.Form().Field("subscribe").(*pdf.CheckboxField)
check.SetChecked(true)
radio := doc.Form().Field("plan").(*pdf.RadioButtonField)
radio.Options()[1].SetSelected(true)
doc.Save("filled.pdf")

Crear marcadores jerárquicos

Cree un árbol de marcadores anidado con entradas con estilo y destinos de página precisos.

doc, _ := pdf.Open("input.pdf")
page, _ := doc.Page(1)
chapter := pdf.NewOutlineItemCollection(doc)
chapter.SetTitle("Chapter 1")
chapter.SetBold(true)
chapter.SetDestination(pdf.NewDestinationXYZ(page, 0, 800, 1.0))
doc.Outlines().Add(chapter)
doc.Save("with_bookmarks.pdf")

Preguntas frecuentes

¿Cuál es la licencia de Aspose.PDF FOSS for Go?

Aspose.PDF FOSS for Go se publica bajo la MIT License. El texto completo de la licencia está incluido en el repositorio en github.com/aspose-pdf-foss/aspose-pdf-foss-for-go.

¿Puedo usar Aspose.PDF FOSS for Go en un producto comercial?

Sí. La licencia MIT permite el uso comercial sin restricciones, la modificación, la distribución y el uso privado.

¿Existe una versión empresarial?

Aspose.PDF FOSS es la edición de código abierto bajo licencia MIT. Un producto comercial separado Aspose.PDF está disponible como el Aspose.PDF — Enterprise Product Family con soporte empresarial, cobertura ampliada de formatos e integración en la nube.

¿Cómo instalo Aspose.PDF FOSS for Go?

Ejecute go get github.com/aspose-pdf-foss/aspose-pdf-foss-for-go para añadir el módulo a su proyecto Go. Impórtelo con un alias en sus archivos fuente usando import pdf "github.com/aspose-pdf-foss/aspose-pdf-foss-for-go".

¿Qué versión de Go se requiere?

Se requiere Go 1.24 o posterior. Verifique su versión con go version.

  

Recursos de soporte y aprendizaje

 Español