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

Aspose.PDF FOSS para Go

Biblioteca Pure-Go para criar, editar, mesclar e proteger documentos PDF — código aberto sob MIT, zero dependências não-Go.

Aspose.PDF FOSS — Biblioteca Go PDF de Código Aberto

Aspose.PDF FOSS for Go é uma biblioteca pure-Go que permite aos desenvolvedores criar, ler, editar, mesclar, divida e proteja documentos PDF sem quaisquer dependências nativas externas. Construído para server-side Aplicações Go, integra‑se a qualquer projeto de módulo Go com um único go get github.com/aspose-pdf-foss/aspose-pdf-foss-for-go comando.

A biblioteca expõe uma superfície de API abrangente através do Document, Page, Form, Table, e tipos AnnotationCollection, abrangendo gerenciamento de documentos, preenchimento de AcroForm, tabela estruturada layout, navegação de marcadores, manipulação de imagens e validação de integridade estrutural. Recursos de segurança incluem Criptografia AES-128, AES-256 e RC4-128 via EncryptionOptions e Permissions, com controle de acesso granular por operação. Aspose.PDF FOSS para Go é lançado sob a licença MIT sem taxas de tempo de execução ou restrições de uso. Requer Go 1.24 ou posterior. Para recursos e suporte corporativos, veja Aspose.PDF for Go — Enterprise Product.

Operações de Documento

  • Abra, crie, salve e feche arquivos PDF via Document
  • Divida um documento em instâncias Document por página
  • Anexar vários PDFs no local usando Append
  • Extrair subconjuntos de páginas usando PageRange para exportações parciais
  • Ler e gravar metadados de documento XMP através do tipo XMPMetadata

Cenários práticos

  • Divida em lote PDFs recebidos em arquivos de página individuais
  • Monte relatórios mensais a partir dos PDFs de seção
  • Extrair intervalos de páginas para fluxos de trabalho de cópia com redação
  • Atualizar autor e data de criação do documento programaticamente

Segurança e Permissões

  • Criptografe PDFs com AES-128, AES-256 ou RC4-128 via EncryptionOptions
  • Defina as senhas de usuário e proprietário em uma única chamada SetEncryption
  • Restrinja impressão, cópia e acessibilidade usando Permissions
  • Abrir arquivos protegidos por senha com OpenWithPassword
  • Remova a criptografia e produza cópias descriptografadas quando necessário

Cenários práticos

  • Entregue relatórios confidenciais com senhas por destinatário
  • Aplicar permissões apenas de impressão em contratos distribuídos
  • Re-encriptar documentos após a marca d’água no local
  • Produza cópias de arquivos em texto simples a partir de originais protegidos

Processamento de AcroForm

  • Enumere todos os campos em um formulário usando Form e Field
  • Defina valores de texto nas instâncias TextBoxField por nome de campo
  • Alternar CheckboxField e selecionar opções RadioButtonField
  • Escolha itens nos controles ComboBoxField e ListBoxField
  • Acionar ações ButtonField em documentos de formulário interativo

Cenários práticos

  • Automatizar pipelines de preenchimento de faturas e formulários de contrato
  • Pré-preencher modelos de aplicação antes da distribuição de PDF
  • Extrair valores de campos preenchidos para processamento de dados downstream
  • Validar a presença de campo obrigatório antes da arquivação

Tabelas e Layout Estruturado

  • Crie layouts de grade com os tipos Table, Row e Cell
  • Aplique estilos de borda através de BorderInfo por célula ou tabela
  • Defina preenchimento e espaçamento com MarginInfo
  • Estilize o texto com TextStyle, Font, Color, HAlign e VAlign
  • Incorpore imagens dentro de células de tabela usando Image

Cenários práticos

  • Gere faturas e demonstrações financeiras com dados tabulares
  • Renderizar cronogramas ou tabelas de comparação em relatórios gerados
  • Produza PDFs baseados em dados a partir dos resultados de consultas ao banco de dados
  • Crie tabelas acessíveis com bordas e espaçamento consistentes

Marcadores e Navegação

  • Crie árvores de marcadores hierárquicas via OutlineItemCollection
  • Defina estilos em negrito/itálico e cores personalizadas nos itens de contorno
  • Vincule marcadores a coordenadas exatas usando DestinationXYZ
  • Use destinos de ajuste de página com DestinationFit
  • Registre destinos de salto nomeados através de NamedDestinations

Cenários práticos

  • Adicionar marcadores de capítulos e seções a documentos de formato longo
  • Crie tabelas de conteúdo interativas para manuais técnicos
  • Habilitar navegação deep-link a partir de hyperlinks externos
  • Preservar a estrutura de marcadores ao mesclar vários documentos

Anotações e Selos

  • Por favor, forneça o texto que deseja traduzir.
  • Crie chamadas de texto com TextAnnotation e FreeTextAnnotation
  • Aplique carimbos de aprovação via StampAnnotation e StampName
  • Realce o conteúdo com HighlightAnnotation
  • Censurar regiões sensíveis usando RedactAnnotation

Cenários práticos

  • Adicionar comentários do revisor aos documentos de rascunho para aprovação
  • Carimbe APROVADO ou CONFIDENCIAL em PDFs finalizados
  • Redigir permanentemente dados pessoais para arquivos compatíveis com GDPR
  • Incorpore hyperlinks e ações de URI via LinkAnnotation

Dividir e Mesclar PDFs

Abra um PDF, divida-o em documentos de uma página cada ou mescle vários arquivos em um só.

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")

Criptografar com Permissões

Aplique criptografia AES-128 com permissões granulares de impressão e cópia em uma única chamada.

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

Preencher campos AcroForm

Alveje campos de formulário por nome e defina valores para todos os 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")

Criar marcadores hierárquicos

Crie uma árvore de marcadores aninhada com entradas estilizadas e 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")

Perguntas Frequentes

Qual é a licença do Aspose.PDF FOSS for Go?

Aspose.PDF FOSS for Go é lançado sob a MIT License. O texto completo da licença está incluído no repositório em github.com/aspose-pdf-foss/aspose-pdf-foss-for-go.

Posso usar Aspose.PDF FOSS for Go em um produto comercial?

Sim. A licença MIT permite uso comercial irrestrito, modificação, distribuição e uso privado.

Existe uma versão empresarial?

Aspose.PDF FOSS é a edição de código aberto, licenciada sob MIT. Um produto comercial separado Aspose.PDF está disponível como o Aspose.PDF — Enterprise Product Family com suporte empresarial, cobertura de formatos ampliada e integração com nuvem.

Como instalo Aspose.PDF FOSS for Go?

Execute go get github.com/aspose-pdf-foss/aspose-pdf-foss-for-go para adicionar o módulo ao seu projeto Go. Importe-o com um alias nos seus arquivos fonte usando import pdf "github.com/aspose-pdf-foss/aspose-pdf-foss-for-go".

Qual versão do Go é necessária?

Go 1.24 ou posterior é necessário. Verifique sua versão com go version.

  

Recursos de Suporte e Aprendizado

 Português