1. Товары
  2.   PDF
  3.   GO
  4.   gofpdf  
 
  

Создать и управлять PDF документами через Free Go API

Go Library, которая дает разработчикам программного обеспечения возможность создавать, редактировать, конвертировать и манипулировать PDF документами.

Gofpdf — это библиотека Go с открытым исходным кодом, которая дает разработчикам программного обеспечения возможность создавать и изменять PDF-файлы без каких-либо внешних зависимостей. Библиотека поддерживает создание документов PDF и работу с ними с большим количеством текста, рисунков и изображений. Библиотека полностью поддерживает шрифты UTF-8 TrueType и языки с письмом справа налево. Он поддерживает автоматический перевод рун UTF-8 в кодировку кодовой страницы для языков, содержащих менее 256 глифов.

PDF — один из наиболее часто используемых в мире форматов файлов для хранения и обмена информацией по всему миру. Библиотека gofpdf поддерживает несколько важных функций для обработки документов PDF, таких как создание и редактирование документов PDF, вставка изображения (изображения JPEG, PNG, GIF, TIFF и SVG) в PDF, вставка новых страниц в существующий файл PDF, заголовок страницы. и управление нижним колонтитулом, автоматические разрывы страниц, поддержка внутренних и внешних ссылок, разрывы строк и выравнивание текста и многое другое.

Previous Next

Начало с gofpdf

Рекомендованный способ установки gofpdf - использование GitHub. Для установки gofpdf в вашей системе, пожалуйста, выполните следующую команду

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

go get https://github.com/jung-kurt/gofpdf

Для последнего обновления, пожалуйста, выполните следующую команду:

go get -u -v github.com/jung-kurt/gofpdf/...

PDF Создание и обработка через Go Library

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

Создание простого PDF файла через Go API

pdf := gofpdf.New("P", "mm", "A4", "")
pdf.AddPage()
pdf.SetFont("Arial", "B", 16)
pdf.Cell(40, 10, "Hello, world")
err := pdf.OutputFileAndClose("hello.pdf")

Дополнительные изображения PDF через Go API

Изображения очень важны для представления более полной и более полной информации. Это всегда добавляет большую ценность к части контента. Open source gofpdf API позволяет программистам вставлять изображения по своему выбору в PDF файлов внутри своих приложений. Он обеспечивает поддержку очень популярных форматов изображений, таких как JPEG, NG, GIF, TIFF, и базовых изображений только для SVG. Вы также можете изменить изображения в соответствии с вашими потребностями.

Добавляйте изображения на страницы PDF через Go API

func ExampleFpdf_Image() {
	pdf := gofpdf.New("P", "mm", "A4", "")
	pdf.AddPage()
	pdf.SetFont("Arial", "", 11)
	pdf.Image(example.ImageFile("logo.png"), 10, 10, 30, 0, false, "", 0, "")
	pdf.Text(50, 20, "logo.png")
	pdf.Image(example.ImageFile("logo.gif"), 10, 40, 30, 0, false, "", 0, "")
	pdf.Text(50, 50, "logo.gif")
	pdf.Image(example.ImageFile("logo-gray.png"), 10, 70, 30, 0, false, "", 0, "")
	pdf.Text(50, 80, "logo-gray.png")
	pdf.Image(example.ImageFile("logo-rgb.png"), 10, 100, 30, 0, false, "", 0, "")
	pdf.Text(50, 110, "logo-rgb.png")
	pdf.Image(example.ImageFile("logo.jpg"), 10, 130, 30, 0, false, "", 0, "")
	pdf.Text(50, 140, "logo.jpg")
	fileStr := example.Filename("Fpdf_Image")
	err := pdf.OutputFileAndClose(fileStr)
	example.Summary(err, fileStr)
	// Output:
	// Successfully generated pdf/Fpdf_Image.pdf
}
 

Добавление уровней в PDF документов

Использование слоев в PDF документах дает вам возможность лучше организовывать и отображать контент. Эта функция позволяет пользователям делать контент видимым или невидимым или добавлять детали к диаграммам в PDF документах. Библиотека gofpdf полностью поддерживает добавление и управление слоями внутри PDF файлов. Вы можете легко определить слои, контролировать видимость слоя интерактивной или открыть сковороду слоя в PDF-ти зрителях.

Просмотр и добавление уровней в PDF файла внутри Go Apps

func ExampleFpdf_AddLayer() {
	pdf := gofpdf.New("P", "mm", "A4", "")
	pdf.AddPage()
	pdf.SetFont("Arial", "", 15)
	pdf.Write(8, "This line doesn't belong to any layer.\n")
	// Define layers
	l1 := pdf.AddLayer("Layer 1", true)
	l2 := pdf.AddLayer("Layer 2", true)
	// Open layer pane in PDF viewer
	pdf.OpenLayerPane()
	// First layer
	pdf.BeginLayer(l1)
	pdf.Write(8, "This line belongs to layer 1.\n")
	pdf.EndLayer()
	// Second layer
	pdf.BeginLayer(l2)
	pdf.Write(8, "This line belongs to layer 2.\n")
	pdf.EndLayer()
	// First layer again
	pdf.BeginLayer(l1)
	pdf.Write(8, "This line belongs to layer 1 again.\n")
	pdf.EndLayer()
	fileStr := example.Filename("Fpdf_AddLayer")
	err := pdf.OutputFileAndClose(fileStr)
	example.Summary(err, fileStr)
	// Output:
	// Successfully generated pdf/Fpdf_AddLayer.pdf
}
 

Добавить Лидеры, Перерывы и Страницы к PDFs

документы внутри своих приложений Go. Заголовки и функция футера дают каждому PDF документа личное прикосновение, применяя номера страниц, текстовые этикетки или изображения к PDF файлам. Библиотека полностью поддерживает создание, редактирование и управление заголовками и ногой внутри ваших PDF документов. Вы также можете использовать такие функции, как линейное обоснование, текстовые сообщения и перерывы страниц и т.д.

Лидеры и дополнения к PDF через Go

func ExampleFpdf_AddPage() {
	pdf := gofpdf.New("P", "mm", "A4", "")
	pdf.SetTopMargin(30)
	pdf.SetHeaderFuncMode(func() {
		pdf.Image(example.ImageFile("logo.png"), 10, 6, 30, 0, false, "", 0, "")
		pdf.SetY(5)
		pdf.SetFont("Arial", "B", 15)
		pdf.Cell(80, 0, "")
		pdf.CellFormat(30, 10, "Title", "1", 0, "C", false, 0, "")
		pdf.Ln(20)
	}, true)
	pdf.SetFooterFunc(func() {
		pdf.SetY(-15)
		pdf.SetFont("Arial", "I", 8)
		pdf.CellFormat(0, 10, fmt.Sprintf("Page %d/{nb}", pdf.PageNo()),
			"", 0, "C", false, 0, "")
	})
	pdf.AliasNbPages("")
	pdf.AddPage()
	pdf.SetFont("Times", "", 12)
	for j := 1; j <= 40; j++ {
		pdf.CellFormat(0, 10, fmt.Sprintf("Printing line number %d", j),
			"", 1, "", false, 0, "")
	}
	fileStr := example.Filename("Fpdf_AddPage")
	err := pdf.OutputFileAndClose(fileStr)
	example.Summary(err, fileStr)
	// Output:
	// Successfully generated pdf/Fpdf_AddPage.pdf
}
 Русский