Update PDF generation to match reference design and improve alignment
Revert PDF cell padding and text alignment to match the reference design, ensuring centered content and vertical alignment.
This commit is contained in:
Binary file not shown.
@@ -815,7 +815,7 @@ export async function renderSchedulePdf(input: RenderPdfInput): Promise<Buffer>
|
|||||||
const headerWidths = isRtl ? [...colWidths].reverse() : colWidths;
|
const headerWidths = isRtl ? [...colWidths].reverse() : colWidths;
|
||||||
|
|
||||||
const cellPadX = 4;
|
const cellPadX = 4;
|
||||||
const cellPadY = 2;
|
const cellPadY = 0;
|
||||||
const lineHeight = input.font.fontSize * 1.05;
|
const lineHeight = input.font.fontSize * 1.05;
|
||||||
|
|
||||||
function drawHeader(): number {
|
function drawHeader(): number {
|
||||||
@@ -862,7 +862,7 @@ export async function renderSchedulePdf(input: RenderPdfInput): Promise<Buffer>
|
|||||||
{
|
{
|
||||||
text: htmlToPlain(isRtl ? meeting.titleAr : meeting.titleEn || meeting.titleAr) +
|
text: htmlToPlain(isRtl ? meeting.titleAr : meeting.titleEn || meeting.titleAr) +
|
||||||
(meeting.location ? `\n${meeting.location}` : ""),
|
(meeting.location ? `\n${meeting.location}` : ""),
|
||||||
align: isRtl ? "right" : "left",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text:
|
text:
|
||||||
@@ -896,7 +896,7 @@ export async function renderSchedulePdf(input: RenderPdfInput): Promise<Buffer>
|
|||||||
flushGroup();
|
flushGroup();
|
||||||
return parts.join("\n");
|
return parts.join("\n");
|
||||||
})(),
|
})(),
|
||||||
align: isRtl ? "right" : "left",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: formatTimeRange(meeting.startTime, meeting.endTime, input.lang),
|
text: formatTimeRange(meeting.startTime, meeting.endTime, input.lang),
|
||||||
@@ -992,7 +992,9 @@ export async function renderSchedulePdf(input: RenderPdfInput): Promise<Buffer>
|
|||||||
const c = cells[i];
|
const c = cells[i];
|
||||||
const cellW = widths[i] - cellPadX * 2;
|
const cellW = widths[i] - cellPadX * 2;
|
||||||
const textLines = c.text.split("\n");
|
const textLines = c.text.split("\n");
|
||||||
let y = rowTop + cellPadY;
|
const contentH = cellHeights[i] - cellPadY * 2;
|
||||||
|
const vOffset = Math.max(0, (rowHeight - cellPadY * 2 - contentH) / 2);
|
||||||
|
let y = rowTop + cellPadY + vOffset;
|
||||||
for (const tl of textLines) {
|
for (const tl of textLines) {
|
||||||
if (y >= rowBottom) break;
|
if (y >= rowBottom) break;
|
||||||
if (!tl) { y += lineHeight; continue; }
|
if (!tl) { y += lineHeight; continue; }
|
||||||
|
|||||||
Reference in New Issue
Block a user