En este tutorial de programación con Golang vamos a ver cómo convertir varias imágenes en un PDF, indicando el tamaño del papel y ajustando la imagen para que tenga el tamaño de la hoja.
Dicho con pocas palabras veremos cómo convertir imágenes a PDF con Go, agregando una imagen por hoja, cubriendo toda la hoja.
Para unir imágenes en un PDF con Golang vamos a usar la librería gopdf del autor signintech. Se instala con:
go get -u github.com/signintech/gopdf
Y después puede ser importada así:
import "github.com/signintech/gopdf"
Ahora que tenemos la librería importada solo hay que crear un nuevo documento eligiendo el tamaño del papel, agregando páginas con AddPage
y agregando una imagen a la página con Image
así:
package main
import (
_ "image/jpeg"
_ "image/png"
"log"
"github.com/signintech/gopdf"
)
func main() {
pdf := gopdf.GoPdf{}
nombreArchivoSalida := "convertido.pdf"
// Aquí puedes seleccionar el tamaño.
// Las imágenes serán redimensionadas para cubrir
// toda la hoja
tamañoDePagina := gopdf.PageSizeA4
pdf.Start(gopdf.Config{PageSize: *tamañoDePagina})
ubicacionesImagenes := []string{"bird.jpg", "zoo.jpg"}
for _, ubicacionImagen := range ubicacionesImagenes {
pdf.AddPage()
// Si tú no quieres cubrir toda la hoja, entonces
// especifica W como el ancho de la imagen y no de la hoja. Haz
// lo mismo con el alto H
err := pdf.Image(ubicacionImagen, 0, 0, &gopdf.Rect{
W: tamañoDePagina.W,
H: tamañoDePagina.H,
})
if err != nil {
log.Fatalf("Error añadiendo la imagen %s al PDF: %v", ubicacionImagen, err)
}
}
pdf.WritePdf(nombreArchivoSalida)
}
Las imágenes pueden tener cualquier medida, pero en este caso las estoy redimensionando para que cubran toda la hoja. Tú puedes cambiar el tamaño del papel en la variable tamañoDePagina
y las medidas de la imagen al especificar el gopdf.Rect
.
Como lo más común es agregar una imagen que cubra toda una hoja, lo he hecho de esta manera; pero bien podrías agregar varias imágenes en una hoja.
Nota: las imágenes están definidas en el arreglo ubicacionesImagenes
; pueden ser png o jpg.
Finalmente guardamos el PDF generado con Golang usando la función WritePdf
indicando el nombre de salida.
En este post te voy a enseñar a designar una carpeta para imprimir todos los…
En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…
Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…
Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…
Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…
En este post te enseñaré a imprimir la letra ñ en una impresora térmica. Voy…
Esta web usa cookies.