Безплатна Go библиотека за създаване на EPUB документи
Отворена Go библиотека за създаване на EPUB файлове. Включва поддръжка за добавяне на CSS, изображения и шрифтове.
Go-EPUB е много полезна отворена Go библиотека, която позволява на софтуерните разработчици лесно да създават EPUB файлове в собственото си Go приложение. Библиотеката е много добре документирана и всички съобщения за грешки са самодостатъчни. Библиотеката включва много полезни функции за работа с медийни файлове, като извличане на медия от URL, получаване на медия от локалната файлова система или извличане на медия от схема, кодирана по 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)