@ic-labs/invoice-kit 0.1.14 → 0.1.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +41 -0
- package/dist/core/types.d.ts +20 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/renderers/pdf-support.js +1 -1
- package/dist/renderers/pdf.d.ts.map +1 -1
- package/dist/renderers/pdf.js +119 -86
- package/dist/renderers/pdf.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -120,6 +120,47 @@ await invoice.toPDF({
|
|
|
120
120
|
});
|
|
121
121
|
```
|
|
122
122
|
|
|
123
|
+
### PDF spacing
|
|
124
|
+
|
|
125
|
+
The current roomy layout is the default. You can override individual spacing values through `toPDF({ spacing })`; omitted values keep their defaults.
|
|
126
|
+
|
|
127
|
+
```ts
|
|
128
|
+
await invoice.toPDF({
|
|
129
|
+
outputPath: "./invoice.pdf",
|
|
130
|
+
spacing: {
|
|
131
|
+
headerToParties: 40,
|
|
132
|
+
partiesToTable: 30,
|
|
133
|
+
tableToSummary: 26,
|
|
134
|
+
detailLineGap: 3,
|
|
135
|
+
tableRowMinHeight: 34
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
All values use PDF points (`72` points = `1` inch) and must be finite, non-negative numbers.
|
|
141
|
+
|
|
142
|
+
| Option | Default | Controls |
|
|
143
|
+
| --- | ---: | --- |
|
|
144
|
+
| `issuerNameToDetails` | `10` | Issuer name to issuer address/details |
|
|
145
|
+
| `titleToMetadata` | `10` | Document title to number/date metadata |
|
|
146
|
+
| `metadataRowGap` | `7` | Space between metadata rows |
|
|
147
|
+
| `headerToParties` | `30` (`34` for delivery/return notes) | Header to seller/client section |
|
|
148
|
+
| `partyLabelToDetails` | `22` | Seller/client label to its details |
|
|
149
|
+
| `partiesToTable` | `24` | Seller/client section to item table |
|
|
150
|
+
| `headerToTable` | `20` (`24` for delivery/return notes) | Header to table when no party section exists |
|
|
151
|
+
| `tableToSummary` | `20` | Table to the aligned bank/totals row |
|
|
152
|
+
| `bankLabelToDetails` | `18` | Bank heading to bank details |
|
|
153
|
+
| `bankToNotes` | `16` | Bank details to notes |
|
|
154
|
+
| `notesLabelToDetails` | `18` | Notes heading to notes text |
|
|
155
|
+
| `detailLineGap` | `2` | Line spacing inside issuer, party, bank, and table details |
|
|
156
|
+
| `tableHeaderHeight` | `28` | Item-table header height |
|
|
157
|
+
| `tableRowMinHeight` | `30` | Minimum item-row height |
|
|
158
|
+
| `tableTextTopPadding` | `9` | Text offset from the top of item rows |
|
|
159
|
+
| `summaryRowHeight` | `26` | Height of each totals row |
|
|
160
|
+
| `summaryBottomGap` | `16` | Extra space below the left-side bank/notes content |
|
|
161
|
+
|
|
162
|
+
Larger values may move sections to another page. Automatic table and section pagination remains active.
|
|
163
|
+
|
|
123
164
|
## Document Factories
|
|
124
165
|
|
|
125
166
|
### `createInvoice(input)`
|
package/dist/core/types.d.ts
CHANGED
|
@@ -116,8 +116,28 @@ export interface PdfRenderOptions {
|
|
|
116
116
|
regular?: PdfFontSource;
|
|
117
117
|
bold?: PdfFontSource;
|
|
118
118
|
};
|
|
119
|
+
spacing?: PdfSpacingOptions;
|
|
119
120
|
}
|
|
120
121
|
export type PdfFontSource = string | Uint8Array | ArrayBuffer;
|
|
122
|
+
export interface PdfSpacingOptions {
|
|
123
|
+
issuerNameToDetails?: number;
|
|
124
|
+
titleToMetadata?: number;
|
|
125
|
+
metadataRowGap?: number;
|
|
126
|
+
headerToParties?: number;
|
|
127
|
+
partyLabelToDetails?: number;
|
|
128
|
+
partiesToTable?: number;
|
|
129
|
+
headerToTable?: number;
|
|
130
|
+
tableToSummary?: number;
|
|
131
|
+
bankLabelToDetails?: number;
|
|
132
|
+
bankToNotes?: number;
|
|
133
|
+
notesLabelToDetails?: number;
|
|
134
|
+
detailLineGap?: number;
|
|
135
|
+
tableHeaderHeight?: number;
|
|
136
|
+
tableRowMinHeight?: number;
|
|
137
|
+
tableTextTopPadding?: number;
|
|
138
|
+
summaryRowHeight?: number;
|
|
139
|
+
summaryBottomGap?: number;
|
|
140
|
+
}
|
|
121
141
|
export interface TemplateLabels {
|
|
122
142
|
documentTitle: string;
|
|
123
143
|
seller: string;
|
package/dist/core/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -152,7 +152,7 @@ export const resolveColors = (colors) => ({
|
|
|
152
152
|
});
|
|
153
153
|
const getWrappedRowHeight = (doc, text, width, minHeight, options) => {
|
|
154
154
|
const textHeight = doc.heightOfString(text, { ...options, width });
|
|
155
|
-
return Math.max(minHeight, Math.ceil(textHeight +
|
|
155
|
+
return Math.max(minHeight, Math.ceil(textHeight + 16));
|
|
156
156
|
};
|
|
157
157
|
export const getMaxRowHeight = (doc, cells, minHeight) => cells.reduce((maxHeight, cell) => (Math.max(maxHeight, getWrappedRowHeight(doc, cell.text, cell.width, minHeight, cell.options))), minHeight);
|
|
158
158
|
export const buildPartyLines = (party, labels, includeName = true) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdf.d.ts","sourceRoot":"","sources":["../../src/renderers/pdf.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"pdf.d.ts","sourceRoot":"","sources":["../../src/renderers/pdf.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAgC/E,eAAO,MAAM,iBAAiB,GAC5B,UAAU,oBAAoB,EAC9B,UAAU,gBAAgB,KACzB,OAAO,CAAC,UAAU,CAiZpB,CAAC"}
|
package/dist/renderers/pdf.js
CHANGED
|
@@ -2,6 +2,15 @@ import PDFDocument from "../vendor/pdfkit.cjs";
|
|
|
2
2
|
import { getLabels } from "../locales/index.js";
|
|
3
3
|
import { formatDate, formatMoney } from "../utils/formatting.js";
|
|
4
4
|
import { PAGE, buildBankLines, buildPartyLines, collectPdf, drawFixedText, drawLabelValue, ensureSectionSpace, fetchLogo, getMaxRowHeight, normalizeFooterText, resolveColors, resolvePdfFonts, truncateText, useFont } from "./pdf-support.js";
|
|
5
|
+
const resolveSpacing = (value, fallback, name) => {
|
|
6
|
+
if (value === undefined) {
|
|
7
|
+
return fallback;
|
|
8
|
+
}
|
|
9
|
+
if (!Number.isFinite(value) || value < 0) {
|
|
10
|
+
throw new Error(`options.spacing.${name} must be a non-negative finite number.`);
|
|
11
|
+
}
|
|
12
|
+
return value;
|
|
13
|
+
};
|
|
5
14
|
export const renderDocumentPdf = async (document, options) => {
|
|
6
15
|
const labels = getLabels(document.locale);
|
|
7
16
|
const colors = resolveColors(document.colors);
|
|
@@ -15,20 +24,27 @@ export const renderDocumentPdf = async (document, options) => {
|
|
|
15
24
|
const metaTopX = rightColumnX;
|
|
16
25
|
const tableX = PAGE.margin;
|
|
17
26
|
const tableWidth = PAGE.width - PAGE.margin * 2;
|
|
27
|
+
const spacing = options?.spacing;
|
|
18
28
|
const logoFit = isStockMovementDocument ? [80, 80] : [72, 72];
|
|
19
29
|
const issuerNameOffsetY = isStockMovementDocument ? 3 : 1;
|
|
20
|
-
const issuerNameGapY =
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
-
const
|
|
24
|
-
const
|
|
25
|
-
const
|
|
26
|
-
const
|
|
27
|
-
const
|
|
28
|
-
const
|
|
29
|
-
const
|
|
30
|
-
const
|
|
31
|
-
const
|
|
30
|
+
const issuerNameGapY = resolveSpacing(spacing?.issuerNameToDetails, 10, "issuerNameToDetails");
|
|
31
|
+
const configuredTitleMetaGapY = resolveSpacing(spacing?.titleToMetadata, 10, "titleToMetadata");
|
|
32
|
+
const titleMetaGapY = document.title ? configuredTitleMetaGapY : 0;
|
|
33
|
+
const metaRowGapY = resolveSpacing(spacing?.metadataRowGap, 7, "metadataRowGap");
|
|
34
|
+
const sectionGapY = resolveSpacing(spacing?.headerToParties, isStockMovementDocument ? 34 : 30, "headerToParties");
|
|
35
|
+
const sectionBodyOffsetY = resolveSpacing(spacing?.partyLabelToDetails, 22, "partyLabelToDetails");
|
|
36
|
+
const sectionAfterGapY = resolveSpacing(spacing?.partiesToTable, 24, "partiesToTable");
|
|
37
|
+
const bankDetailsBodyOffsetY = resolveSpacing(spacing?.bankLabelToDetails, 18, "bankLabelToDetails");
|
|
38
|
+
const bankNotesGapY = resolveSpacing(spacing?.bankToNotes, 16, "bankToNotes");
|
|
39
|
+
const tableTopGapY = resolveSpacing(spacing?.headerToTable, isStockMovementDocument ? 24 : 20, "headerToTable");
|
|
40
|
+
const trailingSectionGapY = resolveSpacing(spacing?.tableToSummary, 20, "tableToSummary");
|
|
41
|
+
const notesBodyOffsetY = resolveSpacing(spacing?.notesLabelToDetails, 18, "notesLabelToDetails");
|
|
42
|
+
const trailingBottomGapY = resolveSpacing(spacing?.summaryBottomGap, 16, "summaryBottomGap");
|
|
43
|
+
const detailLineGapY = resolveSpacing(spacing?.detailLineGap, 2, "detailLineGap");
|
|
44
|
+
const tableHeaderHeight = resolveSpacing(spacing?.tableHeaderHeight, 28, "tableHeaderHeight");
|
|
45
|
+
const tableRowMinHeight = resolveSpacing(spacing?.tableRowMinHeight, 30, "tableRowMinHeight");
|
|
46
|
+
const tableTextOffsetY = resolveSpacing(spacing?.tableTextTopPadding, 9, "tableTextTopPadding");
|
|
47
|
+
const summaryRowHeight = resolveSpacing(spacing?.summaryRowHeight, 26, "summaryRowHeight");
|
|
32
48
|
const contentBottomY = PAGE.height - PAGE.margin - 8;
|
|
33
49
|
// pdfkit is chosen because it stays lightweight while supporting custom TTF/OTF fonts,
|
|
34
50
|
// which is necessary for Arabic-capable PDF output in a Node-only library.
|
|
@@ -52,7 +68,7 @@ export const renderDocumentPdf = async (document, options) => {
|
|
|
52
68
|
}
|
|
53
69
|
doc.addPage();
|
|
54
70
|
drawHeader(PAGE.margin);
|
|
55
|
-
return PAGE.margin +
|
|
71
|
+
return PAGE.margin + tableHeaderHeight;
|
|
56
72
|
};
|
|
57
73
|
if (logoBuffer) {
|
|
58
74
|
doc.image(logoBuffer, leftColumnX, PAGE.headerTop, {
|
|
@@ -76,7 +92,7 @@ export const renderDocumentPdf = async (document, options) => {
|
|
|
76
92
|
issuerHeaderBottomY = drawFixedText(doc, issuerLines.join("\n"), issuerTextX, issuerName ? issuerHeaderBottomY + issuerNameGapY : PAGE.headerTop, {
|
|
77
93
|
width: issuerTextWidth,
|
|
78
94
|
align,
|
|
79
|
-
lineGap:
|
|
95
|
+
lineGap: detailLineGapY
|
|
80
96
|
});
|
|
81
97
|
}
|
|
82
98
|
const sellerLines = buildPartyLines(document.seller, labels);
|
|
@@ -113,7 +129,7 @@ export const renderDocumentPdf = async (document, options) => {
|
|
|
113
129
|
const minimumHeaderBottomY = PAGE.headerTop + (isStockMovementDocument ? 72 : 48);
|
|
114
130
|
const headerBottomY = Math.max(metaBottomY, issuerHeaderBottomY, minimumHeaderBottomY);
|
|
115
131
|
let y = headerBottomY + tableTopGapY;
|
|
116
|
-
if (sellerLines.length > 0 || clientLines.length > 0
|
|
132
|
+
if (sellerLines.length > 0 || clientLines.length > 0) {
|
|
117
133
|
const sectionsTopY = headerBottomY + sectionGapY;
|
|
118
134
|
useFont(doc, fonts?.bold, "Helvetica-Bold");
|
|
119
135
|
doc.fillColor(colors.mutedText).fontSize(10);
|
|
@@ -130,19 +146,7 @@ export const renderDocumentPdf = async (document, options) => {
|
|
|
130
146
|
leftSectionBottomY = drawFixedText(doc, sellerLines.join("\n"), leftColumnX, sectionsTopY + sectionBodyOffsetY, {
|
|
131
147
|
width: 270,
|
|
132
148
|
align,
|
|
133
|
-
lineGap:
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
if (bankLines) {
|
|
137
|
-
useFont(doc, fonts?.bold, "Helvetica-Bold");
|
|
138
|
-
doc.fillColor(colors.mutedText).fontSize(9);
|
|
139
|
-
drawFixedText(doc, labels.bankDetails, leftColumnX, leftSectionBottomY + bankSectionGapY, { width: columnWidth, align });
|
|
140
|
-
useFont(doc, fonts?.regular, "Helvetica");
|
|
141
|
-
doc.fillColor(colors.text).fontSize(9);
|
|
142
|
-
leftSectionBottomY = drawFixedText(doc, bankLines.join("\n"), leftColumnX, leftSectionBottomY + bankSectionBodyOffsetY, {
|
|
143
|
-
width: 270,
|
|
144
|
-
align,
|
|
145
|
-
lineGap: 1
|
|
149
|
+
lineGap: detailLineGapY
|
|
146
150
|
});
|
|
147
151
|
}
|
|
148
152
|
let clientBottomY = sectionsTopY;
|
|
@@ -150,7 +154,7 @@ export const renderDocumentPdf = async (document, options) => {
|
|
|
150
154
|
clientBottomY = drawFixedText(doc, clientLines.join("\n"), rightColumnX, sectionsTopY + sectionBodyOffsetY, {
|
|
151
155
|
width: columnWidth,
|
|
152
156
|
align,
|
|
153
|
-
lineGap:
|
|
157
|
+
lineGap: detailLineGapY
|
|
154
158
|
});
|
|
155
159
|
}
|
|
156
160
|
y = Math.max(leftSectionBottomY, clientBottomY) + sectionAfterGapY;
|
|
@@ -166,18 +170,18 @@ export const renderDocumentPdf = async (document, options) => {
|
|
|
166
170
|
quantityWidth: 50
|
|
167
171
|
};
|
|
168
172
|
const drawHeader = (headerY) => {
|
|
169
|
-
doc.fillColor(colors.primary).rect(tableX, headerY, tableWidth,
|
|
173
|
+
doc.fillColor(colors.primary).rect(tableX, headerY, tableWidth, tableHeaderHeight).fill();
|
|
170
174
|
useFont(doc, fonts?.bold, "Helvetica-Bold");
|
|
171
175
|
doc.fillColor(colors.onPrimary).fontSize(10);
|
|
172
|
-
drawFixedText(doc, labels.item, columns.itemX, headerY +
|
|
173
|
-
drawFixedText(doc, labels.quantity, columns.quantityX, headerY +
|
|
176
|
+
drawFixedText(doc, labels.item, columns.itemX, headerY + 8, { width: columns.itemWidth, align });
|
|
177
|
+
drawFixedText(doc, labels.quantity, columns.quantityX, headerY + 8, { width: columns.quantityWidth, align: "right" });
|
|
174
178
|
};
|
|
175
|
-
if (y +
|
|
179
|
+
if (y + tableHeaderHeight > contentBottomY) {
|
|
176
180
|
doc.addPage();
|
|
177
181
|
y = PAGE.margin;
|
|
178
182
|
}
|
|
179
183
|
drawHeader(y);
|
|
180
|
-
y +=
|
|
184
|
+
y += tableHeaderHeight;
|
|
181
185
|
useFont(doc, fonts?.regular, "Helvetica");
|
|
182
186
|
for (const item of items) {
|
|
183
187
|
const itemLabel = item.description ? `${item.name} - ${item.description}` : item.name;
|
|
@@ -185,18 +189,18 @@ export const renderDocumentPdf = async (document, options) => {
|
|
|
185
189
|
const rowHeight = getMaxRowHeight(doc, [
|
|
186
190
|
{ text: itemLabel, width: columns.itemWidth, options: { align, lineGap: 1 } },
|
|
187
191
|
{ text: quantityLabel, width: columns.quantityWidth, options: { align: "right", lineGap: 1 } }
|
|
188
|
-
],
|
|
192
|
+
], tableRowMinHeight);
|
|
189
193
|
y = ensureTableRowSpace(y, rowHeight, drawHeader);
|
|
190
194
|
doc.strokeColor(colors.border).lineWidth(1).rect(tableX, y, tableWidth, rowHeight).stroke();
|
|
191
195
|
doc.fillColor(colors.text).fontSize(10);
|
|
192
|
-
drawFixedText(doc, truncateText(doc, itemLabel, columns.itemWidth), columns.itemX, y +
|
|
196
|
+
drawFixedText(doc, truncateText(doc, itemLabel, columns.itemWidth), columns.itemX, y + tableTextOffsetY, {
|
|
193
197
|
width: columns.itemWidth,
|
|
194
198
|
align
|
|
195
199
|
});
|
|
196
|
-
drawFixedText(doc, quantityLabel, columns.quantityX, y +
|
|
200
|
+
drawFixedText(doc, quantityLabel, columns.quantityX, y + tableTextOffsetY, {
|
|
197
201
|
width: columns.quantityWidth,
|
|
198
202
|
align: "right",
|
|
199
|
-
lineGap:
|
|
203
|
+
lineGap: detailLineGapY
|
|
200
204
|
});
|
|
201
205
|
y += rowHeight;
|
|
202
206
|
}
|
|
@@ -213,20 +217,20 @@ export const renderDocumentPdf = async (document, options) => {
|
|
|
213
217
|
amountWidth: 95
|
|
214
218
|
};
|
|
215
219
|
const drawHeader = (headerY) => {
|
|
216
|
-
doc.fillColor(colors.primary).rect(tableX, headerY, tableWidth,
|
|
220
|
+
doc.fillColor(colors.primary).rect(tableX, headerY, tableWidth, tableHeaderHeight).fill();
|
|
217
221
|
useFont(doc, fonts?.bold, "Helvetica-Bold");
|
|
218
222
|
doc.fillColor(colors.onPrimary).fontSize(10);
|
|
219
|
-
drawFixedText(doc, labels.item, columns.itemX, headerY +
|
|
220
|
-
drawFixedText(doc, labels.quantity, columns.quantityX, headerY +
|
|
221
|
-
drawFixedText(doc, labels.unitPrice, columns.unitPriceX, headerY +
|
|
222
|
-
drawFixedText(doc, labels.amount, columns.amountX, headerY +
|
|
223
|
+
drawFixedText(doc, labels.item, columns.itemX, headerY + 8, { width: columns.itemWidth, align });
|
|
224
|
+
drawFixedText(doc, labels.quantity, columns.quantityX, headerY + 8, { width: columns.quantityWidth, align: "right" });
|
|
225
|
+
drawFixedText(doc, labels.unitPrice, columns.unitPriceX, headerY + 8, { width: columns.unitPriceWidth, align: "right" });
|
|
226
|
+
drawFixedText(doc, labels.amount, columns.amountX, headerY + 8, { width: columns.amountWidth, align: "right" });
|
|
223
227
|
};
|
|
224
|
-
if (y +
|
|
228
|
+
if (y + tableHeaderHeight > contentBottomY) {
|
|
225
229
|
doc.addPage();
|
|
226
230
|
y = PAGE.margin;
|
|
227
231
|
}
|
|
228
232
|
drawHeader(y);
|
|
229
|
-
y +=
|
|
233
|
+
y += tableHeaderHeight;
|
|
230
234
|
useFont(doc, fonts?.regular, "Helvetica");
|
|
231
235
|
for (const item of items) {
|
|
232
236
|
const itemLabel = item.description ? `${item.name} - ${item.description}` : item.name;
|
|
@@ -234,25 +238,25 @@ export const renderDocumentPdf = async (document, options) => {
|
|
|
234
238
|
const rowHeight = getMaxRowHeight(doc, [
|
|
235
239
|
{ text: itemLabel, width: columns.itemWidth, options: { align, lineGap: 1 } },
|
|
236
240
|
{ text: quantityLabel, width: columns.quantityWidth, options: { align: "right", lineGap: 1 } }
|
|
237
|
-
],
|
|
241
|
+
], tableRowMinHeight);
|
|
238
242
|
y = ensureTableRowSpace(y, rowHeight, drawHeader);
|
|
239
243
|
doc.strokeColor(colors.border).lineWidth(1).rect(tableX, y, tableWidth, rowHeight).stroke();
|
|
240
244
|
doc.fillColor(colors.text).fontSize(10);
|
|
241
|
-
drawFixedText(doc, itemLabel, columns.itemX, y +
|
|
245
|
+
drawFixedText(doc, itemLabel, columns.itemX, y + tableTextOffsetY, {
|
|
242
246
|
width: columns.itemWidth,
|
|
243
247
|
align,
|
|
244
|
-
lineGap:
|
|
248
|
+
lineGap: detailLineGapY
|
|
245
249
|
});
|
|
246
|
-
drawFixedText(doc, quantityLabel, columns.quantityX, y +
|
|
250
|
+
drawFixedText(doc, quantityLabel, columns.quantityX, y + tableTextOffsetY, {
|
|
247
251
|
width: columns.quantityWidth,
|
|
248
252
|
align: "right",
|
|
249
|
-
lineGap:
|
|
253
|
+
lineGap: detailLineGapY
|
|
250
254
|
});
|
|
251
|
-
drawFixedText(doc, truncateText(doc, formatMoney(item.unitPrice, document.locale, document.currency ?? "MAD"), columns.unitPriceWidth), columns.unitPriceX, y +
|
|
255
|
+
drawFixedText(doc, truncateText(doc, formatMoney(item.unitPrice, document.locale, document.currency ?? "MAD"), columns.unitPriceWidth), columns.unitPriceX, y + tableTextOffsetY, {
|
|
252
256
|
width: columns.unitPriceWidth,
|
|
253
257
|
align: "right"
|
|
254
258
|
});
|
|
255
|
-
drawFixedText(doc, truncateText(doc, formatMoney(item.lineTotal, document.locale, document.currency ?? "MAD"), columns.amountWidth), columns.amountX, y +
|
|
259
|
+
drawFixedText(doc, truncateText(doc, formatMoney(item.lineTotal, document.locale, document.currency ?? "MAD"), columns.amountWidth), columns.amountX, y + tableTextOffsetY, {
|
|
256
260
|
width: columns.amountWidth,
|
|
257
261
|
align: "right"
|
|
258
262
|
});
|
|
@@ -270,13 +274,59 @@ export const renderDocumentPdf = async (document, options) => {
|
|
|
270
274
|
if (document.notes) {
|
|
271
275
|
notes.push(`${labels.notes}: ${document.notes}`);
|
|
272
276
|
}
|
|
277
|
+
const bankText = bankLines?.join("\n");
|
|
278
|
+
const leftDetailsWidth = tableWidth - 236;
|
|
279
|
+
useFont(doc, fonts?.regular, "Helvetica");
|
|
280
|
+
doc.fontSize(9);
|
|
281
|
+
const bankDetailsHeight = bankText
|
|
282
|
+
? bankDetailsBodyOffsetY + doc.heightOfString(bankText, {
|
|
283
|
+
width: leftDetailsWidth,
|
|
284
|
+
align,
|
|
285
|
+
lineGap: detailLineGapY
|
|
286
|
+
})
|
|
287
|
+
: 0;
|
|
288
|
+
const notesHeight = notes.length > 0
|
|
289
|
+
? notesBodyOffsetY + doc.heightOfString(notes.join("\n"), {
|
|
290
|
+
width: leftDetailsWidth,
|
|
291
|
+
align,
|
|
292
|
+
lineGap: 1
|
|
293
|
+
})
|
|
294
|
+
: 0;
|
|
295
|
+
const leftDetailsHeight = bankDetailsHeight
|
|
296
|
+
+ (bankText && notes.length > 0 ? bankNotesGapY : 0)
|
|
297
|
+
+ notesHeight;
|
|
298
|
+
const drawLeftDetails = (startY) => {
|
|
299
|
+
let leftBottomY = startY;
|
|
300
|
+
if (bankText) {
|
|
301
|
+
useFont(doc, fonts?.bold, "Helvetica-Bold");
|
|
302
|
+
doc.fillColor(colors.mutedText).fontSize(9);
|
|
303
|
+
drawFixedText(doc, labels.bankDetails, tableX, startY, { width: leftDetailsWidth, align });
|
|
304
|
+
useFont(doc, fonts?.regular, "Helvetica");
|
|
305
|
+
doc.fillColor(colors.text).fontSize(9);
|
|
306
|
+
leftBottomY = drawFixedText(doc, bankText, tableX, startY + bankDetailsBodyOffsetY, {
|
|
307
|
+
width: leftDetailsWidth,
|
|
308
|
+
align,
|
|
309
|
+
lineGap: detailLineGapY
|
|
310
|
+
});
|
|
311
|
+
}
|
|
312
|
+
if (notes.length > 0) {
|
|
313
|
+
const notesTopY = bankText ? leftBottomY + bankNotesGapY : startY;
|
|
314
|
+
useFont(doc, fonts?.bold, "Helvetica-Bold");
|
|
315
|
+
doc.fillColor(colors.mutedText).fontSize(10);
|
|
316
|
+
drawFixedText(doc, labels.notes, tableX, notesTopY, { width: leftDetailsWidth, align });
|
|
317
|
+
useFont(doc, fonts?.regular, "Helvetica");
|
|
318
|
+
doc.fillColor(colors.text).fontSize(9);
|
|
319
|
+
leftBottomY = drawFixedText(doc, notes.join("\n"), tableX, notesTopY + notesBodyOffsetY, {
|
|
320
|
+
width: leftDetailsWidth,
|
|
321
|
+
align,
|
|
322
|
+
lineGap: 1
|
|
323
|
+
});
|
|
324
|
+
}
|
|
325
|
+
return leftBottomY;
|
|
326
|
+
};
|
|
273
327
|
if (!isStockMovementDocument && document.totals) {
|
|
274
|
-
const totalsHeight =
|
|
275
|
-
|
|
276
|
-
const notesHeight = notes.length > 0
|
|
277
|
-
? 12 + 12 + doc.heightOfString(notes.join("\n"), { width: notesWidth, align, lineGap: 1 }) + 8
|
|
278
|
-
: 0;
|
|
279
|
-
y = ensureSectionSpace(doc, y + trailingSectionGapY, Math.max(totalsHeight, notesHeight)) - trailingSectionGapY;
|
|
328
|
+
const totalsHeight = summaryRowHeight * 5;
|
|
329
|
+
y = ensureSectionSpace(doc, y + trailingSectionGapY, Math.max(totalsHeight, leftDetailsHeight)) - trailingSectionGapY;
|
|
280
330
|
const totalsX = PAGE.width - PAGE.margin - 220;
|
|
281
331
|
const totals = [
|
|
282
332
|
[labels.subtotal, formatMoney(document.totals.subtotal, document.locale, document.currency ?? "MAD")],
|
|
@@ -286,41 +336,24 @@ export const renderDocumentPdf = async (document, options) => {
|
|
|
286
336
|
[labels.total, formatMoney(document.totals.total, document.locale, document.currency ?? "MAD")]
|
|
287
337
|
];
|
|
288
338
|
y += trailingSectionGapY;
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
useFont(doc, fonts?.bold, "Helvetica-Bold");
|
|
292
|
-
doc.fillColor(colors.mutedText).fontSize(10);
|
|
293
|
-
drawFixedText(doc, labels.notes, PAGE.margin, y, { width: notesWidth, align });
|
|
294
|
-
useFont(doc, fonts?.regular, "Helvetica");
|
|
295
|
-
doc.fillColor(colors.text).fontSize(9);
|
|
296
|
-
trailingBottomY = drawFixedText(doc, notes.join("\n"), PAGE.margin, y + notesBodyOffsetY, {
|
|
297
|
-
width: notesWidth,
|
|
298
|
-
align,
|
|
299
|
-
lineGap: 1
|
|
300
|
-
});
|
|
301
|
-
}
|
|
339
|
+
const trailingBottomY = drawLeftDetails(y);
|
|
340
|
+
let totalsY = y;
|
|
302
341
|
totals.forEach(([label, value], index) => {
|
|
303
342
|
const isTotal = index === totals.length - 1;
|
|
304
|
-
doc.fillColor(isTotal ? colors.primary : "white").rect(totalsX,
|
|
305
|
-
doc.strokeColor(colors.border).lineWidth(1).rect(totalsX,
|
|
343
|
+
doc.fillColor(isTotal ? colors.primary : "white").rect(totalsX, totalsY, 220, summaryRowHeight).fill();
|
|
344
|
+
doc.strokeColor(colors.border).lineWidth(1).rect(totalsX, totalsY, 220, summaryRowHeight).stroke();
|
|
306
345
|
useFont(doc, isTotal ? fonts?.bold : fonts?.regular, isTotal ? "Helvetica-Bold" : "Helvetica");
|
|
307
346
|
doc.fillColor(isTotal ? colors.onPrimary : colors.text).fontSize(10);
|
|
308
|
-
drawFixedText(doc, label, totalsX + 10,
|
|
309
|
-
drawFixedText(doc, truncateText(doc, value, 85), totalsX + 125,
|
|
310
|
-
|
|
347
|
+
drawFixedText(doc, label, totalsX + 10, totalsY + 9, { width: 105, align: "left" });
|
|
348
|
+
drawFixedText(doc, truncateText(doc, value, 85), totalsX + 125, totalsY + 9, { width: 85, align: "right" });
|
|
349
|
+
totalsY += summaryRowHeight;
|
|
311
350
|
});
|
|
312
|
-
y = Math.max(
|
|
351
|
+
y = Math.max(totalsY, trailingBottomY + trailingBottomGapY);
|
|
313
352
|
}
|
|
314
|
-
else if (
|
|
315
|
-
|
|
316
|
-
y = ensureSectionSpace(doc, y + trailingSectionGapY, notesHeight) - trailingSectionGapY;
|
|
353
|
+
else if (leftDetailsHeight > 0) {
|
|
354
|
+
y = ensureSectionSpace(doc, y + trailingSectionGapY, leftDetailsHeight) - trailingSectionGapY;
|
|
317
355
|
y += trailingSectionGapY;
|
|
318
|
-
|
|
319
|
-
doc.fillColor(colors.mutedText).fontSize(10);
|
|
320
|
-
drawFixedText(doc, labels.notes, PAGE.margin, y, { width: tableWidth, align });
|
|
321
|
-
useFont(doc, fonts?.regular, "Helvetica");
|
|
322
|
-
doc.fillColor(colors.text).fontSize(9);
|
|
323
|
-
drawFixedText(doc, notes.join("\n"), PAGE.margin, y + notesBodyOffsetY, { width: tableWidth, align, lineGap: 1 });
|
|
356
|
+
y = drawLeftDetails(y);
|
|
324
357
|
}
|
|
325
358
|
useFont(doc, fonts?.regular, "Helvetica");
|
|
326
359
|
const actualPageHeight = doc.page.height ?? 841.89;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdf.js","sourceRoot":"","sources":["../../src/renderers/pdf.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pdf.js","sourceRoot":"","sources":["../../src/renderers/pdf.ts"],"names":[],"mappings":"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"}
|