Tạo PDF ở Golang (PDF)

Tao Pdf O Golang Pdf



Định dạng Tài liệu Di động hay viết tắt là PDF là một định dạng tệp cực kỳ phổ biến và linh hoạt được sử dụng trong các tài liệu. PDF được hỗ trợ trên hầu hết các nền tảng và hệ thống, khiến nó trở thành lựa chọn tuyệt vời để chia sẻ tài liệu.

Khi nói đến các nhà phát triển, chúng ta có thể gặp các trường hợp cần tạo tài liệu PDF theo chương trình dựa trên dữ liệu đầu vào. Ví dụ: bạn có thể có một ứng dụng web tạo hóa đơn PDF dựa trên thông tin mua hàng từ cơ sở dữ liệu.

May mắn thay, hệ sinh thái Go rất lớn và có các công cụ cũng như tính năng để thực hiện việc tạo PDF một cách dễ dàng mà không cần phải xây dựng từ đầu.







Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách sử dụng gói “fpdf” cung cấp các tính năng mạnh mẽ để tạo tài liệu PDF dựa trên dữ liệu đầu vào.



Thiết lập môi trường

Trước khi chúng tôi tiến hành, hãy đảm bảo rằng bạn đã cài đặt các công cụ sau:



  1. Đảm bảo rằng bạn đã cài đặt trình biên dịch Go mới nhất trên hệ thống của mình
  2. Trình soạn thảo mã

Cài đặt Gofpdf

Khi bạn đã thiết lập dự án của mình, hãy sử dụng lệnh “go get” để cài đặt gói “fpdf”.





$ đi lấy github . với / đi - pdf / fpdf

Sau khi cài đặt, chúng tôi có thể tiếp tục và sử dụng các tính năng do gói cung cấp để tạo PDF.

Tạo một tài liệu PDF cơ bản

Hãy xem xét mã ví dụ sau đây minh họa cách sử dụng gói này để tạo một tệp PDF cơ bản với văn bản đầu vào cơ bản.



bưu kiện chủ yếu

nhập khẩu (
'github.com/go-pdf/fpdf'
)

vui vẻ chủ yếu () {
pdf := fpdf . Mới ( 'P' , 'mm' , 'A4' , '' )
pdf . Thêm trang ()
pdf . Đặt phông chữ ( 'Arial' , 'B' , 16 )
pdf . Tế bào ( 40 , 10 , 'Thật là đau mông...' )
pdf . Đầu raTập tinVàĐóng ( 'lorem.pdf' )
}

Trong ví dụ đã cho, chúng tôi bắt đầu bằng cách nhập các gói mà chúng tôi cần. Trong trường hợp của chúng tôi, chúng tôi chỉ cần gói “fpdf”.

Tiếp theo, chúng tôi tạo một tài liệu PDF mới bằng hàm fpdf.New() và chỉ định các thuộc tính PDF như hướng trang, đơn vị đo và kích thước.

Tiếp theo, chúng ta thêm một trang mới bằng hàm AddPage().

Sau đó chúng ta tiến hành thiết lập phông chữ và kích thước cho tài liệu bằng hàm SetFont(). Chúng ta cũng thêm một vùng hình chữ nhật hay còn gọi là ô với hàm Cell() để hiển thị văn bản.

Cuối cùng, chúng tôi tạo tệp PDF và lưu nó bằng phương thức OutputFileAndClose().

Thêm hình ảnh

Chúng tôi cũng có thể thêm hỗ trợ cho hình ảnh như trong mã ví dụ sau:

bưu kiện chủ yếu

nhập khẩu (
'github.com/go-pdf/fpdf'
)

vui vẻ chủ yếu () {
pdf := fpdf . Mới ( 'P' , 'mm' , 'A4' , '' )
pdf . Thêm trang ()
pdf . Tùy chọn hình ảnh ( 'linux-tux.png' , 10 , 10 , 40 , 0 , SAI , fpdf . Tùy chọn hình ảnh { Lọai hình ảnh : 'PNG' , ĐọcDpi : ĐÚNG VẬY }, 0 , '' )
lỗi := pdf . Đầu raTập tinVàĐóng ( 'example.pdf' )
nếu như lỗi != không {
hoảng loạn ( lỗi )
}
}

Điều này sẽ bao gồm hình ảnh được chỉ định vào tài liệu.

Tài liệu nhiều trang có đầu trang và chân trang

Gói này cũng hỗ trợ nhiều trang bao gồm các tính năng như đầu trang và chân trang như trong ví dụ sau:

bưu kiện chủ yếu

nhập khẩu (
'strconv' // Nhập gói strconv

'github.com/go-pdf/fpdf'
)

vui vẻ tiêu đề ( pdf * fpdf . Fpdf ) {
pdf . Đặt phông chữ ( 'Arial' , 'B' , 12 )
pdf . Tế bào ( 0 , 10 , 'Tiêu đề trang' )
pdf . Ln ( hai mươi )
}

vui vẻ chân trang ( pdf * fpdf . Fpdf ) {
pdf . SetY ( - mười lăm )
pdf . Đặt phông chữ ( 'Arial' , 'TÔI' , số 8 )
pdf . Tế bào ( 0 , 10 , 'Trang ' + strconv . chết đuối ( pdf . Không có trang ()))
}

vui vẻ chủ yếu () {
pdf := fpdf . Mới ( 'P' , 'mm' , 'A4' , '' )
pdf . SetHeaderFunc ( vui vẻ () { tiêu đề ( pdf ) })
pdf . SetFooterFunc ( vui vẻ () { chân trang ( pdf ) })

pdf . Thêm trang ()
pdf . Đặt phông chữ ( 'Arial' , '' , 12 )
Tôi := 0 ; Tôi < 40 ; Tôi ++ {
pdf . Tế bào ( 0 , 10 , 'In số dòng' + strconv . chết đuối ( Tôi ))
pdf . Ln ( 12 )
}

pdf . Đầu raTập tinVàĐóng ( 'nhiều trang.pdf' )
}

Trong trường hợp này, chúng tôi xác định các hàm đầu trang và chân trang để đặt nội dung cho các phần này của tệp PDF.

Sau đó, chúng tôi sử dụng SetHeaderFunc và SetFooterFunc để chỉ định các hàm làm đầu trang và chân trang cho tài liệu.

Cuối cùng, chúng tôi sử dụng vòng lặp để tạo nhiều dòng văn bản dẫn đến nhiều trang. Kết quả PDF như sau:

Ở đó bạn có nó!

Phần kết luận

Trong hướng dẫn này, chúng ta đã học được rất nhiều điều về cách tạo PDF trong Go bằng cách sử dụng gói “fpdf”. Gói này đi kèm rất nhiều công cụ và tính năng để tạo tệp PDF. Kiểm tra các tài liệu để tìm hiểu thêm.