Безкоштовна бібліотека 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.
Початок роботи з 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-файлу за допомогою Go API
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-документів за допомогою Go API
// 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)