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

Aspose.PDF FOSS для 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
  • Удалите шифрование и создавайте расшифрованные копии по мере необходимости

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

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

Обработка AcroForm

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

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

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

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

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

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

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

Закладки и навигация

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

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

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

Аннотации и штампы

  • Could you please provide the text you’d like translated and indicate where the Annotation and AnnotationCollection comments should be inserted?
  • Создайте текстовые подсказки с TextAnnotation и FreeTextAnnotation
  • Примените печати одобрения через StampAnnotation и StampName
  • Выделите содержимое с HighlightAnnotation
  • Замаскировать чувствительные области, используя RedactAnnotation

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

  • Добавьте комментарии рецензента к черновикам документов для утверждения
  • Поставьте штамп APPROVED или CONFIDENTIAL на готовые PDF
  • Постоянно удалять персональные данные из архивов, соответствующих требованиям 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")

Заполнить поля AcroForm

Обращайтесь к полям формы по имени и задавайте значения для всех типов виджетов.

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 for Go?

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

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

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

Существует ли корпоративная версия?

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

Как установить Aspose.PDF FOSS for 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 1.24 или новее. Проверьте свою версию с помощью go version.

  

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

 Русский