Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/EC-Nordbund/docx-templates-to-pdf
https://github.com/EC-Nordbund/docx-templates-to-pdf
docx docx-templates docx2pdf gotenberg pdf
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/EC-Nordbund/docx-templates-to-pdf
- Owner: EC-Nordbund
- Archived: true
- Created: 2020-12-05T17:36:26.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2021-05-26T15:26:58.000Z (over 3 years ago)
- Last Synced: 2024-07-24T19:35:28.310Z (4 months ago)
- Topics: docx, docx-templates, docx2pdf, gotenberg, pdf
- Language: JavaScript
- Size: 195 KB
- Stars: 6
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-gotenberg - Word Document Template to PDF - EC-Nordbund/docx-templates-to-pdf - Gotenberg **6.x** ⚠️ (Clients)
README
# docx-templates-to-pdf
This is a helper Package on top of docx-templates and gotenberg-js-client to fill docx template Documents with data and convert it into PDF-Files.
> Note this is a simple wrapper only 70 Lines of Code. So for your use case it might be easier to write some helpers on your own.
## API
>
The simple syntax you can see in the .d.ts file:
```ts
///
import { UserOptions } from "docx-templates/lib/types";
declare type modifiedConfig = Omit;
declare type DATA = Record;
declare type Template = UserOptions["template"];
export declare class Gotenberg {
protected url: string;
constructor(url: string);
fillDocToPdf(file: Template, data: DATA[], config?: modifiedConfig): Promise;
fillDocToPdf(file: Template, data: [DATA], config: modifiedConfig, onlyDocx: true): Promise;
}
```As you can see we export a class `Gotenberg` wich has to be created with a `url`. The class has one method `fillDocToPdf`. This expects a Buffer as a file and a Array of Data objects as data. Additionaly we can provide a config object. This ist nearly the same config as the options of `docx-templates`. If we provide a query-Resolver for data (so a function) the data will be injected as `queryVars` not as `data`. If data is a single Object you can provid `onlyDocx` as `true` and get a `ArrayBufferLike` for the filled `docx` file. In all other cases you get a `NodeJS.ReadableStream` as a Result.