1. Продукты
  2.   Aspose.PDF
  3.   Aspose.PDF FOSS for Go

Aspose.PDF FOSS for Go

Pure-Go библиотека для создания, редактирования, объединения и защиты PDF‑документов — открытый исходный код под лицензией MIT, без зависимостей, не связанных с Go.

Aspose.PDF FOSS Открытый исходный код Go PDF библиотека

Aspose.PDF FOSS for Go — это чисто Go библиотека, позволяющая разработчикам создавать, читать, редактировать, объединять, разбивать и защищать PDF‑документы без каких-либо внешних нативных зависимостей. Создана для серверных Go‑приложений, она интегрируется в любой проект Go‑модуля с помощью единственной go get github.com/aspose-pdf-foss/aspose-pdf-foss-for-go команды.

Библиотека предоставляет обширный API интерфейс через типы Document, Page, Form, Table, и AnnotationCollection типы, охватывающие управление документами, заполнение AcroForm, структурированную таблицу разметку, навигацию по закладкам, работу с изображениями и проверку целостности структуры. Функции безопасности включают AES-128, AES-256 и RC4-128 шифрование через EncryptionOptions и Permissions, с детальным контролем доступа для каждой операции. Aspose.PDF FOSS for Go выпускается под лицензией MIT без каких‑либо плат за выполнение или ограничений использования. Требуется Go 1.24 или новее. Для корпоративных функций и поддержки см. Aspose.PDF for Go — Enterprise Product.

Операции по документам

  • Открыть, создать и закрыть файлы PDF с помощью Document
  • Разделить документ на экземпляры Document в каждой странице .
  • Присоедините несколько файлов PDF на месте с помощью Append
  • Вывод подмножеств страниц с использованием PageRange для частичного экспорта
  • Читать и писать метаданные документа XMP через тип XMPMetadata

Практические сценарии

  • Разделение входящих файлов PDF на отдельные страницы архива
  • Составление ежемесячных отчетов из разделов PDF-файлов
  • Вывод диапазонов страниц для рабочих процессов с редактированием копий
  • Программное обновление автора документа и даты его создания .

Безопасность и разрешения

  • Зашифровать файлы PDF с помощью AES-128, AEs-256 или RC4-128 через EncryptionOptions
  • Установка паролей пользователя и владельца в одном вызове SetEncryption
  • Ограничить печать, копирование и доступность с помощью Permissions
  • Открыть защищенные паролем файлы с помощью OpenWithPassword
  • Устранить шифрование и создать расшифрованные копии при необходимости.

Практические сценарии

  • Доставка конфиденциальных отчетов с паролями для каждого получателя.
  • Осуществление разрешений на печать только в распределенных контрактах
  • Перешифровать документы после водяной маркировки на месте
  • Производить архивные копии из защищенных оригиналов в простом тексте.

Обработка акроформы

  • Перечислить все поля в форме с использованием Form и Field
  • Установка текстовых значений на TextBoxField экземплярах по имени поля
  • Переместить CheckboxField и выбрать опции RadioButtonField
  • Выберите элементы в контролях ComboBoxField и ListBoxField
  • Приведение к действию ButtonField в документах интерактивной формы

Практические сценарии

  • Автоматизация трубопроводов по заполнению счетов и контрактных форм
  • Предварительная заполнение шаблонов приложений перед распространением в формате PDF.
  • Экстракт заполненных значений поля для обработки данных в дальнейшем процессе
  • Подтверждение необходимого присутствия на поле перед архивированием

Таблицы и структурированная схема

  • Создавайте сеточные макеты с типами Table, Row и Cell
  • Применяйте стили границ через BorderInfo для каждой ячейки или таблицы
  • Устанавливайте отступы и интервалы с помощью MarginInfo
  • Оформляйте текст с помощью TextStyle, Font, Color, HAlign и VAlign
  • Встраивайте изображения в ячейки таблицы, используя Image

Практические сценарии

  • Создание счетов и финансовой отчетности с табличными данными.
  • График представления или сравнительные таблицы в генерируемых отчетах
  • Создание файлов PDF на основе данных из результатов запроса базы данных
  • Создать доступные таблицы с постоянными границами и интервалом .

Блокмарки и навигация

  • Создать иерархические деревья закладки с помощью OutlineItemCollection
  • Настроить на элементы контура жирные/италлические стили и индивидуальные цвета
  • Ссылка закладки на точные координаты с помощью DestinationXYZ
  • Использовать целевые места для встроения страниц с помощью DestinationFit
  • Регистрируйте названия цели прыжка через NamedDestinations

Практические сценарии

  • Добавление закладки на главы и разделы в длинные документы
  • Создание интерактивных таблиц содержания технических руководств.
  • Включить навигацию с глубокими ссылками из внешних гиперссылок
  • Сохранить структуру закладки при объединении нескольких документов

Аннотации и маркировки

  • Добавить комментарии через Annotation и AnnotationCollection
  • Создать текстовые вызовы с TextAnnotation и FreeTextAnnotation
  • Нанести маркировку по StampAnnotation и StampName
  • Подчеркните содержание с помощью HighlightAnnotation
  • Измените чувствительные области с помощью RedactAnnotation

Практические сценарии

  • Добавление комментариев рецензентов к проектам документов для утверждения.
  • Одобрить завершенные файлы PDF или пометить “ОДОБВЕРЖЕНЫЙ” (APPROVED) или “КОНФИДЕНЦИАЛЬНЫМ”.
  • Постоянная отмена персональных данных для архивов, соответствующих GDPR
  • Вставьте гиперссылки и URI-акции через LinkAnnotation

Разделение и объединение PDF-файлов

Откройте PDF-файл, разделите его на отдельные документы или объедините несколько файлов в один.

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

Шифровать с разрешениями

Применять шифрование AES-128 с разрешениями на распечатку и копирование в одном звонке.

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

Заполнение полей акроформы

Поле формы-мишени по имени и установка значений для всех типов виджетов.

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

Создание иерархических закладки

Создайте дерево закладки с стилизованными входами и точными направлениями страниц.

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

Часто задаваемые вопросы

Какая лицензия у Aspose.PDF FOSS для Go?

Aspose.PDF FOSS for Go выпущен под лицензией MIT. Полный текст лицензии включен в репозиторий на сайте github.com/aspose-pdf-foss/aspose-pdf-foss-for-go.

Могу ли я использовать Aspose.PDF FOSS для Go в коммерческом продукте?

Да, лицензия MIT разрешает неограниченное коммерческое использование, модификацию, распространение и частное пользование.

Есть ли корпоративная версия?

Отдельный коммерческий продукт Aspose.PDF доступен как Aspose.PDF — Enterprise Product Family с поддержкой для предприятий, расширенным охватом формата и интеграцией в облако.

Как установить Aspose.PDF FOSS для Go?

Запустите go get github.com/aspose-pdf-foss/aspose-pdf-foss-for-go для добавления модуля в свой проект Go. Импортируйте его с псевдонимом в исходные файлы, используя import pdf "github.com/aspose-pdf-foss/aspose-pdf-foss-for-go".

Какая версия Go требуется?

Проверьте свою версию с помощью go version.

  

Ресурсы поддержки и обучения

 Русский