Import pdfcrowd.go in your code using its package path.
Quick Start
Below are
Golang
examples to help you quickly get started with the API.
Explore our additional examples for more insights.
For a multi-page PDF, the API returns a ZIP archive containing an image for
each page. For a single-page PDF, the output is directly an image (e.g., PNG).
To determine the output format, use isZippedOutput().
You can enforce the use of a ZIP archive by using setForceZip().
packagemainimport("os""fmt""github.com/pdfcrowd/pdfcrowd-go")funcmain(){// Create an API client instance.client:=pdfcrowd.NewPdfToImageClient("demo","ce544b6ea52a5621fb9d55f8b542d14d")// If unsure whether the input is a single-page file, enforce ZIP output.client.SetOutputFormat("png")client.SetForceZip(true)// Run the conversion and save the result to a file.err:=client.ConvertFileToFile("/path/to/invoice.pdf","invoice.zip")// Check for the conversion error.handleError(err)}funchandleError(errerror){iferr!=nil{why,ok:=err.(pdfcrowd.Error)ifok{os.Stderr.WriteString(fmt.Sprintf("Pdfcrowd Error: %s\n",why))}else{os.Stderr.WriteString(fmt.Sprintf("Generic Error: %s\n",err))}panic(err.Error())}}
packagemainimport("os""fmt""github.com/pdfcrowd/pdfcrowd-go")funcmain(){// Create an API client instance.client:=pdfcrowd.NewPdfToImageClient("demo","ce544b6ea52a5621fb9d55f8b542d14d")// If unsure whether the input is a single-page file, enforce ZIP output.client.SetOutputFormat("png")client.SetForceZip(true)// Run the conversion and save the result to a file.err:=client.ConvertUrlToFile("https://pdfcrowd.com/static/pdf/apisamples/invoice.pdf","invoice.zip")// Check for the conversion error.handleError(err)}funchandleError(errerror){iferr!=nil{why,ok:=err.(pdfcrowd.Error)ifok{os.Stderr.WriteString(fmt.Sprintf("Pdfcrowd Error: %s\n",why))}else{os.Stderr.WriteString(fmt.Sprintf("Generic Error: %s\n",err))}panic(err.Error())}}
packagemainimport("os""fmt""github.com/pdfcrowd/pdfcrowd-go""io/ioutil")funcreadFile(fileNamestring)[]byte{content,err:=ioutil.ReadFile(fileName)handleError(err)returncontent}funcmain(){// Create an API client instance.client:=pdfcrowd.NewPdfToImageClient("demo","ce544b6ea52a5621fb9d55f8b542d14d")// If unsure whether the input is a single-page file, enforce ZIP output.client.SetOutputFormat("png")client.SetForceZip(true)// Run the conversion and save the result to a file.err:=client.ConvertRawDataToFile(readFile("/path/to/hello_world.pdf"),"invoice.zip")// Check for the conversion error.handleError(err)}funchandleError(errerror){iferr!=nil{why,ok:=err.(pdfcrowd.Error)ifok{os.Stderr.WriteString(fmt.Sprintf("Pdfcrowd Error: %s\n",why))}else{os.Stderr.WriteString(fmt.Sprintf("Generic Error: %s\n",err))}panic(err.Error())}}
Authentication
To access the API, you will need to use your PDFCrowd username and API
key. For initial testing, you may use the following demo credentials without
registering:
Username:demo
API key:ce544b6ea52a5621fb9d55f8b542d14d
To obtain your personal API credentials, start a
free trial or purchase the
API license.
Error Handling
It is recommended that you implement error handling to catch errors the API
may return. Effective error handling is vital as it ensures application
stability and provides clearer diagnostics. See the example code below for
guidance on implementing error handling, and refer to this list of
status codes for more information.
// call the API // print the erroros.Stderr.WriteString(fmt.Sprintf("Pdfcrowd Error: %s\n",why))// print the error codeos.Stderr.WriteString(fmt.Sprintf("Pdfcrowd Error Code: %v\n",why.getCode()))// print the error messageos.Stderr.WriteString(fmt.Sprintf("Pdfcrowd Error Message: %v\n",why.getMessage()))
Troubleshooting
If you are receiving an error, refer to the
API Status Codes for more information.
Use
setDebugLog() and getDebugLogUrl()
to obtain detailed information about the conversion process, including
load errors, load times, browser console output, etc.