Бесплатная библиотека Go для создания документов EPUB

Открытая библиотека Go для создания файлов EPUB. Включает поддержку добавления CSS, изображений и шрифтов.

Go-EPUB — очень полезная открытая библиотека Go, которая позволяет разработчикам программного обеспечения легко создавать EPUB‑файлы внутри собственного приложения на Go. Библиотека хорошо документирована, и все сообщения об ошибках понятны сами по себе. В библиотеку включены очень полезные функции для работы с медиа‑файлами, такие как получение медиа по URL, получение медиа из локального FR или получение медиа из схемы, закодированной по RFC 2397.

Библиотека Go-EPUB очень проста в использовании и включает несколько важных функций для работы с EPUB‑документами, таких как создание корректных файлов EPUB 3.0, добавление изображений в EPUB‑файлы, поддержка пользовательского CSS, добавление видео в EPUB‑файл, добавление шрифтов и использование дополнения таблицы содержимого EPUB 2.0 для максимальной совместимости.

Библиотека Go-EPUB поддерживает инструмент EPUBCheck, который позволяет пользователям проверять EPUB на ошибки валидации. Если EPUBCheck установлен локально, он будет запускаться вместе с тестами Go. Чтобы использовать EPUBCheck, убедитесь, что Java установлена в вашей системе. Если пользователям не нравится устанавливать EPUBCheck локально, также возможно вручную проверять документы EPUB.

Previous Next

Начало работы с Go-EPUB

Чтобы установить библиотеку Go-EPUB в вашу систему, выполните следующую команду.

Установить PDF через GitHub

 go get https://github.com/iditectweb/pdf.git

Вы также можете установить её вручную; скачайте последние файлы релиза напрямую из репозитория GitHub.

Создание EPUB-файла с помощью Go API

Открытая библиотека Go-EPUB включает полную функциональность для создания EPUB‑документов внутри собственного Go‑приложения всего лишь несколькими строками команд Go. Библиотека предоставляет несколько важных функций, связанных с созданием документов, таких как установка автора, добавление нового раздела в документ, вставка изображений, применение форматирования и стилей текста, добавление выбранных шрифтов и многое другое.

Создать новый EPUB‑файл через библиотеку Go

// Create a new EPUB
e := epub.NewEpub("My title")

// Set the author
e.SetAuthor("Hingle McCringleberry")

// Add a section
section1Body := `

Раздел 1

Это абзац.

` e.AddSection(section1Body, "Section 1", "", "") // Write the EPUB err = e.Write("My EPUB.epub") if err != nil { // handle error }

Добавление изображения в EPUB-файлы через Go API

Открытая библиотека Go-EPUB позволяет программистам добавлять изображения в их EPUB‑документы внутри Go‑приложений. Библиотека включает многочисленные методы вставки изображений в файл EPUB, такие как использование URL, полного пути к локальному файлу изображения или встроенного data‑URL. В любом случае файл изображения будет получен и сохранён в документе EPUB. Внутреннее имя файла будет использоваться при сохранении изображения в EPUB и должно быть уникальным среди всех файлов изображений.

Как добавить изображение в EPUB‑файл через API Go

  e := epub.NewEpub("My title")

// Add an image from a local file
img1Path, err := e.AddImage("testdata/gophercolor16x16.png", "go-gopher.png")
if err != nil {
	log.Fatal(err)
}

// Add an image from a URL. The filename is optional
img2Path, err := e.AddImage("https://golang.org/doc/gopher/gophercolor16x16.png", "")
if err != nil {
	log.Fatal(err)
}

fmt.Println(img1Path)
fmt.Println(img2Path)

Добавление CSS и шрифтов в EPUB-файлы через Go API

Библиотека Go-EPUB предоставляет разработчикам возможность добавлять пользовательские CSS и шрифты по своему выбору в их EPUB‑документы. Как и с изображениями, библиотека позволяет использовать URL, путь к локальному файлу или встроенный data‑URL для вставки CSS или шрифта в файл EPUB. Пожалуйста, помните, что внутреннее имя файла будет использоваться при сохранении файла шрифта в EPUB.

Добавить CSS в EPUB‑документы с помощью API Go

// Add CSS
css1Path, err := e.AddCSS("testdata/cover.css", "epub.css")
if err != nil {
	log.Fatal(err)
}

// The filename is optional
css2Path, err := e.AddCSS("testdata/cover.css", "")
if err != nil {
	log.Fatal(err)
}

// Use the CSS in a section
sectionBody := `    

Раздел 1

Это абзац.

` e.AddSection(sectionBody, "Section 1", "", css1Path) fmt.Println(css1Path) fmt.Println(css2Path)
 Русский