37 lines
1.3 KiB
Markdown
37 lines
1.3 KiB
Markdown
# PdfConverter
|
||
|
||
文件转 Pdf 工具
|
||
|
||
## 使用说明
|
||
|
||
```pascal
|
||
alias := "";
|
||
doc := "D:\\temp\\wordtopdf\\3M.docx";
|
||
output := "D:\\temp\\1.pdf";
|
||
|
||
docx_to_pdf := new TSDocxToPdf(alias, doc);
|
||
docx_to_pdf.Font.SetSubstitutionRules("仿宋", "宋体");
|
||
docx_to_pdf.Transform();
|
||
err := docx_to_pdf.SaveToFile(alias, output);
|
||
echo "SaveToFile::\t", "err := ", format("%x", err), "\toutput_file := ", output, "\n";
|
||
```
|
||
|
||
TSDocxToPdf中的[Font](./ware/TSFontWare.tsf)属性是设置转PDF时的一些字体配置,包含以下函数:
|
||
|
||
- `SetDefaultSz(value: real);`:设置默认字体大小,Docx转Pdf会遇到获取默认字体大小失败情况,此时可通过此方法设置字体大小。不设置情况下默认是10.5磅
|
||
|
||
- `SetSubstitutionRules(source: string; target: string);`:字体替换规则,遇到不支持的字体,需要设置替换的目标字体。未设置情况下会默认替换为宋体
|
||
|
||
- `UseExternalFont()`:使用外部字体,需要部署在fonts文件夹。暂不支持
|
||
当前默认使用的是Pdf内置的字体,仅支持宋体和黑体
|
||
|
||
## 部署
|
||
|
||
将此文件夹部署到 tsl 安装目录下`funcext`即可
|
||
|
||
### 相关依赖
|
||
|
||
1. `office_plugin.dll`
|
||
2. [PDF](https://git.mytsl.cn/tinysoft/Pdf)相关包
|
||
3. [Office](https://git.mytsl.cn/tinysoft/Office)相关包
|