crunk
2 years ago
4 changed files with 88 additions and 0 deletions
@ -0,0 +1,64 @@ |
|||||
|
package main |
||||
|
|
||||
|
import ( |
||||
|
"log" |
||||
|
|
||||
|
"gopkg.in/gographics/imagick.v2/imagick" |
||||
|
) |
||||
|
|
||||
|
func main() { |
||||
|
|
||||
|
if err := ConvertPdfToJpg("../files/vanwiehuurik.pdf", "out.jpeg"); err != nil { |
||||
|
log.Fatal(err) |
||||
|
} |
||||
|
|
||||
|
//client := gosseract.NewClient()
|
||||
|
//defer client.Close()
|
||||
|
|
||||
|
//client.SetImage(file.Name())
|
||||
|
//text, _ := client.Text()
|
||||
|
//fmt.Println(text)
|
||||
|
} |
||||
|
|
||||
|
func ConvertPdfToJpg(pdfName string, imageName string) error { |
||||
|
|
||||
|
// Setup
|
||||
|
imagick.Initialize() |
||||
|
defer imagick.Terminate() |
||||
|
|
||||
|
mw := imagick.NewMagickWand() |
||||
|
defer mw.Destroy() |
||||
|
|
||||
|
// Must be *before* ReadImageFile
|
||||
|
// Make sure our image is high quality
|
||||
|
if err := mw.SetResolution(300, 300); err != nil { |
||||
|
return err |
||||
|
} |
||||
|
|
||||
|
// Load the image file into imagick
|
||||
|
if err := mw.ReadImage(pdfName); err != nil { |
||||
|
return err |
||||
|
} |
||||
|
|
||||
|
// Must be *after* ReadImageFile
|
||||
|
// Flatten image and remove alpha channel, to prevent alpha turning black in jpg
|
||||
|
if err := mw.SetImageAlphaChannel(imagick.ALPHA_CHANNEL_FLATTEN); err != nil { |
||||
|
return err |
||||
|
} |
||||
|
|
||||
|
// Set any compression (100 = max quality)
|
||||
|
if err := mw.SetCompressionQuality(95); err != nil { |
||||
|
return err |
||||
|
} |
||||
|
|
||||
|
// Select only first page of pdf
|
||||
|
mw.SetIteratorIndex(0) |
||||
|
|
||||
|
// Convert into JPG
|
||||
|
if err := mw.SetFormat("jpg"); err != nil { |
||||
|
return err |
||||
|
} |
||||
|
|
||||
|
// Save File
|
||||
|
return mw.WriteImage(imageName) |
||||
|
} |
@ -1,3 +1,8 @@ |
|||||
module varia.zone/go-sh-manymanuals |
module varia.zone/go-sh-manymanuals |
||||
|
|
||||
go 1.18 |
go 1.18 |
||||
|
|
||||
|
require ( |
||||
|
github.com/otiai10/gosseract/v2 v2.3.1 // indirect |
||||
|
gopkg.in/gographics/imagick.v2 v2.6.0 // indirect |
||||
|
) |
||||
|
@ -0,0 +1,11 @@ |
|||||
|
github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE= |
||||
|
github.com/otiai10/curr v1.0.0/go.mod h1:LskTG5wDwr8Rs+nNQ+1LlxRjAtTZZjtJW4rMXl6j4vs= |
||||
|
github.com/otiai10/gosseract/v2 v2.3.1 h1:BFy9Rru7dzqEYX7/tJuEvjVPkkJck0f+b5fYzzr6/RM= |
||||
|
github.com/otiai10/gosseract/v2 v2.3.1/go.mod h1:2ZOGgdTIXQzCS5f+N1HkcXRgDX6K3ZoYe3Yvo++cpp4= |
||||
|
github.com/otiai10/mint v1.3.0/go.mod h1:F5AjcsTsWUqX+Na9fpHb52P8pcRX2CI6A3ctIT91xUo= |
||||
|
github.com/otiai10/mint v1.3.2 h1:VYWnrP5fXmz1MXvjuUvcBrXSjGE6xjON+axB/UrpO3E= |
||||
|
github.com/otiai10/mint v1.3.2/go.mod h1:/yxELlJQ0ufhjUwhshSj+wFjZ78CnZ48/1wtmBH1OTc= |
||||
|
gopkg.in/gographics/imagick.v2 v2.6.0 h1:ewRsUQk3QkjGumERlndbFn/kTYRjyMaPY5gxwpuAhik= |
||||
|
gopkg.in/gographics/imagick.v2 v2.6.0/go.mod h1:/QVPLV/iKdNttRKthmDkeeGg+vdHurVEPc8zkU0XgBk= |
||||
|
gopkg.in/gographics/imagick.v3 v3.4.0 h1:kSnbsXOWofo81VJEn/Hw8w3qqoOrfTyWwjAQzSdtPlg= |
||||
|
gopkg.in/gographics/imagick.v3 v3.4.0/go.mod h1:+Q9nyA2xRZXrDyTtJ/eko+8V/5E7bWYs08ndkZp8UmA= |
Loading…
Reference in new issue