mirror of
https://github.com/gotenberg/gotenberg.git
synced 2026-08-12 02:12:15 +01:00
73 lines
1.4 KiB
Markdown
73 lines
1.4 KiB
Markdown
---
|
||
title: Office
|
||
---
|
||
|
||
Gotenberg provides the endpoint `/convert/office` for Office documents conversions.
|
||
|
||
It accepts `POST` requests with a `multipart/form-data` Content-Type.
|
||
|
||
## Basic
|
||
|
||
You may send one or more Office documents. Following file extensions are accepted:
|
||
|
||
* `.doc`
|
||
* `.docx`
|
||
* `.odt`
|
||
* `.xls`
|
||
* `.xlsx`
|
||
* `.ods`
|
||
* `.ppt`
|
||
* `.pptx`
|
||
* `.odp`
|
||
|
||
All files will be merged into a single resulting PDF.
|
||
|
||
> **Attention:** currently, `unoconv` cannot perform concurrent conversions.
|
||
> That's why for Office conversions, the API does only one conversion at a time.
|
||
> See the [scalability section](#scalability) to find how to mitigate this issue.
|
||
|
||
### Guzzle
|
||
|
||
```bash
|
||
$ curl --request POST \
|
||
--url http://localhost:3000/convert/office \
|
||
--header 'Content-Type: multipart/form-data' \
|
||
--form files=@document.docx
|
||
--form files=@document2.docx
|
||
> result.pdf
|
||
```
|
||
|
||
### Go
|
||
|
||
```golang
|
||
import "github.com/thecodingmachine/gotenberg/pkg"
|
||
|
||
func main() {
|
||
c := &gotenberg.Client{Hostname: "http://localhost:3000"}
|
||
req := &gotenberg.OfficeRequest{
|
||
FilePaths: []string{
|
||
"document.docx",
|
||
"document2.docx",
|
||
},
|
||
}
|
||
dest := "result.pdf"
|
||
c.Store(req, dest)
|
||
}
|
||
```
|
||
|
||
### PHP
|
||
|
||
TODO
|
||
|
||
## Fonts
|
||
|
||
By default, only `ttf-mscorefonts` fonts are installed.
|
||
|
||
If you wish to use more fonts, you will have to create your own image:
|
||
|
||
```Dockerfile
|
||
FROM thecodingmachine/gotenberg:3
|
||
|
||
RUN apt-get -y install yourfonts
|
||
```
|