Безплатна 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 документите.

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 файл чрез 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)
 Български