mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2026-10-03 10:13:47 +10:00
feat(pdf): pass the page map through the browser renderer
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import type { ResumeData } from "@reactive-resume/schema/resume/data";
|
||||
import type { Template } from "@reactive-resume/schema/templates";
|
||||
import type { ResumeRenderOptions } from "./context";
|
||||
import type { PageMap } from "./page-map";
|
||||
import type { SectionTitleResolver } from "./section-title";
|
||||
import { createElement } from "react";
|
||||
import { parseResumeData } from "@reactive-resume/schema/resume/data";
|
||||
@@ -12,6 +13,8 @@ export type CreateResumePdfBlobOptions = {
|
||||
template?: Template | undefined;
|
||||
renderOptions?: ResumeRenderOptions | undefined;
|
||||
resolveSectionTitle?: SectionTitleResolver | undefined;
|
||||
/** Receives the header, section and item boxes of this render (see `page-map.ts`). */
|
||||
onPageMap?: ((pageMap: PageMap) => void) | undefined;
|
||||
};
|
||||
|
||||
export const createResumePdfBlob = async ({
|
||||
@@ -19,6 +22,7 @@ export const createResumePdfBlob = async ({
|
||||
template,
|
||||
renderOptions,
|
||||
resolveSectionTitle,
|
||||
onPageMap,
|
||||
}: CreateResumePdfBlobOptions): Promise<Blob> => {
|
||||
const data = parseResumeData(input);
|
||||
const document = createElement(ResumeDocument, {
|
||||
@@ -26,6 +30,7 @@ export const createResumePdfBlob = async ({
|
||||
template: template ?? data.metadata.template,
|
||||
...(renderOptions ? { renderOptions } : {}),
|
||||
resolveSectionTitle,
|
||||
onPageMap,
|
||||
}) as Parameters<typeof pdf>[0];
|
||||
|
||||
return await pdf(document).toBlob();
|
||||
|
||||
Reference in New Issue
Block a user