
使用Gotenberg ,万物皆可PDF
# 何为Gotenberg?
Gotenberg 提供了开发人员友好的应用程序接口,可与 Chromium 和 LibreOffice 等强大工具进行交互,将多种文档格式(HTML、Markdown、Word、Excel 等)转换为 PDF 文件,[官网地址](https://gotenberg.dev/)。
# 如何使用Gotenberg?
## 安装应用
懒猫微服商店已上架Gotenberg,应用地址为:
https://appstore.lazycat.cloud/#/shop/detail/cloud.lazycat.app.awesome-gotenberg
安装之后打开为精美的导航页,简单介绍应用api地址和使用方法:

## 基础用法
这里参照使用实例介绍api的基本用法。用法很简单,在终端使用curl post即可进行pdf转换。操作系统为windows,使用git bash运行命令,注意windows下要使用绝对路径。
### HTML 转 PDF
```bash
curl --request POST http://gotenberg.<你的微服名称>.heiyu.space:3000/forms/chromium/convert/html --form files=@/path/to/index.html -o output.pdf
```
使用上述命令把gotenberg应用导航页的index.html文件转化为pdf。效果如下图所示:

### URL转PDF
```bash
curl --request POST http://gotenberg.<你的微服名称>.heiyu.space:3000/forms/chromium/convert/url --form url=https://gotenberg.dev/ -o webpage.pdf
```
使用上述命令把项目主页转化为pdf,效果如下图所示:

### Markdown转PDF
```bash
curl --request POST http://gotenberg.<你的微服名称>.heiyu.space:3000/forms/chromium/convert/markdown --form files=@/path/to/index.html --form files=@/path/to/README.md -o markdown.pdf
```
注意Markdown转PDF需要一个封装标记符内容的 HTML文件,并将其中的md文件名修改为你需要转换的md文件名称。它的工作原理与 HTML 转PDF类似,但可以访问 Go 模板函数 toHTML 。该函数可将 markdown 文件的内容转换为 HTML。HTML文件内容大致如下:
```html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>My PDF</title>
</head>
<body>
{{ toHTML "README.md" }}
</body>
</html>
```
转换项目的README文件为PDF,效果如下图所示:

### Office文件转PDF
目前支持以下文件类型:
.123 .602 .abw .bib .bmp .cdr .cgm .cmx .csv .cwk .dbf .dif .doc .docm .docx .dot .dotm .dotx .dxf .emf .eps .epub .fodg .fodp .fods .fodt .fopd .gif .htm .html .hwp .jpeg .jpg .key .ltx .lwp .mcw .met .mml .mw .numbers .odd .odg .odm .odp .ods .odt .otg .oth .otp .ots .ott .pages .pbm .pcd .pct .pcx .pdb .pdf .pgm .png .pot .potm .potx .ppm .pps .ppt .pptm .pptx .psd .psw .pub .pwp .pxl .ras .rtf .sda .sdc .sdd .sdp .sdw .sgl .slk .smf .stc .std .sti .stw .svg .svm .swf .sxc .sxd .sxg .sxi .sxm .sxw .tga .tif .tiff .txt .uof .uop .uos .uot .vdx .vor .vsd .vsdm .vsdx .wb2 .wk1 .wks .wmf .wpd .wpg .wps .xbm .xhtml .xls .xlsb .xlsm .xlsx .xlt .xltm .xltx .xlw .xml .xpm .zabw
转换命令为:
```Bash
curl --request POST http://gotenberg.<你的微服名称>.heiyu.space:3000/forms/libreoffice/convert --form files=@/path/to/document.docx -o converted.pdf
```
效果如下图所示:

## 总结
Gotenberg拥有非常强大的功能,本文仅仅介绍了一些基础用法,项目文档介绍了其他功能,包括编辑PDF元数据等功能,这里就不一一介绍了,有兴趣的朋友可以查看[官方文档](https://gotenberg.dev/docs/getting-started/introduction)。
此 App 尚未收到足够的评分或评论,无法显示评论列表。