react-web-pdf-editor 0.0.0-stage → 0.1.1
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/LICENSE +21 -0
- package/README.md +442 -3
- package/dist/chunk-PAHIBB7W.js +246 -0
- package/dist/chunk-PAHIBB7W.js.map +1 -0
- package/dist/exportPdf-USRSK72H.js +341 -0
- package/dist/exportPdf-USRSK72H.js.map +1 -0
- package/dist/exportPdf.worker.js +20147 -0
- package/dist/exportPdf.worker.js.map +1 -0
- package/dist/index.cjs +9594 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +195 -0
- package/dist/index.d.ts +195 -0
- package/dist/index.js +8951 -0
- package/dist/index.js.map +1 -0
- package/dist/styles.css +2934 -0
- package/docs/editor.png +0 -0
- package/package.json +59 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/lib/exportPdf.ts"],"names":[],"mappings":"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","file":"exportPdf-USRSK72H.js","sourcesContent":["import {\r\n degrees,\r\n LineCapStyle,\r\n PDFDocument,\r\n rgb,\r\n StandardFonts,\r\n type PDFFont,\r\n type PDFImage,\r\n type PDFPage,\r\n} from \"pdf-lib\";\r\nimport type {\r\n DrawStroke,\r\n HighlightAnnotation,\r\n ImageAnnotation,\r\n SignatureAnnotation,\r\n TextAnnotation,\r\n} from \"../types\";\r\nimport { pointsToSvgPath } from \"./drawPaths\";\r\nimport { cssBoxToPdfDrawOrigin, rotatePoint } from \"./geometry\";\r\nimport {\r\n TEXT_LINE_HEIGHT,\r\n TEXT_PADDING_X,\r\n TEXT_PADDING_Y,\r\n wrapMeasuredLines,\r\n} from \"./textLayout\";\r\n\r\nconst WINANSI_REPLACEMENTS: Record<string, string> = {\r\n \"\\u2018\": \"'\",\r\n \"\\u2019\": \"'\",\r\n \"\\u201C\": '\"',\r\n \"\\u201D\": '\"',\r\n \"\\u2013\": \"-\",\r\n \"\\u2014\": \"-\",\r\n \"\\u2026\": \"...\",\r\n \"\\u00A0\": \" \",\r\n};\r\n\r\nexport type ExportWorkerRequest = {\r\n type: \"export\";\r\n pdfBytes: ArrayBuffer;\r\n annotations: TextAnnotation[];\r\n drawings?: DrawStroke[];\r\n highlights?: HighlightAnnotation[];\r\n signatures?: SignatureAnnotation[];\r\n images?: ImageAnnotation[];\r\n};\r\n\r\nexport type ExportWorkerResponse =\r\n | { type: \"success\"; pdfBytes: ArrayBuffer }\r\n | { type: \"error\"; message: string };\r\n\r\nfunction parseColor(value: string) {\r\n const hex = value.trim().replace(\"#\", \"\");\r\n const normalized =\r\n hex.length === 3\r\n ? hex\r\n .split(\"\")\r\n .map((part) => part + part)\r\n .join(\"\")\r\n : hex.padEnd(6, \"0\").slice(0, 6);\r\n const red = Number.parseInt(normalized.slice(0, 2), 16);\r\n const green = Number.parseInt(normalized.slice(2, 4), 16);\r\n const blue = Number.parseInt(normalized.slice(4, 6), 16);\r\n\r\n return rgb(\r\n (Number.isFinite(red) ? red : 0) / 255,\r\n (Number.isFinite(green) ? green : 0) / 255,\r\n (Number.isFinite(blue) ? blue : 0) / 255,\r\n );\r\n}\r\n\r\nfunction resolveStandardFont(\r\n family: string,\r\n weight: TextAnnotation[\"fontWeight\"],\r\n style: TextAnnotation[\"fontStyle\"],\r\n): StandardFonts {\r\n const isBold = weight === \"bold\";\r\n const isItalic = style === \"italic\";\r\n const lower = family.toLowerCase();\r\n const isTimes = lower.includes(\"times\") || lower.includes(\"georgia\");\r\n const isCourier = lower.includes(\"courier\");\r\n\r\n if (isTimes) {\r\n if (isBold && isItalic) return StandardFonts.TimesRomanBoldItalic;\r\n if (isBold) return StandardFonts.TimesRomanBold;\r\n if (isItalic) return StandardFonts.TimesRomanItalic;\r\n return StandardFonts.TimesRoman;\r\n }\r\n\r\n if (isCourier) {\r\n if (isBold && isItalic) return StandardFonts.CourierBoldOblique;\r\n if (isBold) return StandardFonts.CourierBold;\r\n if (isItalic) return StandardFonts.CourierOblique;\r\n return StandardFonts.Courier;\r\n }\r\n\r\n if (isBold && isItalic) return StandardFonts.HelveticaBoldOblique;\r\n if (isBold) return StandardFonts.HelveticaBold;\r\n if (isItalic) return StandardFonts.HelveticaOblique;\r\n return StandardFonts.Helvetica;\r\n}\r\n\r\nfunction toWinAnsi(text: string): string {\r\n let result = \"\";\r\n\r\n for (const char of text) {\r\n if (char === \"\\t\") {\r\n result += \" \";\r\n continue;\r\n }\r\n\r\n if (char === \"\\n\") {\r\n result += \"\\n\";\r\n continue;\r\n }\r\n\r\n if (char === \"\\r\") {\r\n continue;\r\n }\r\n\r\n const replacement = WINANSI_REPLACEMENTS[char];\r\n if (replacement) {\r\n result += replacement;\r\n continue;\r\n }\r\n\r\n const code = char.charCodeAt(0);\r\n if (code < 32) {\r\n continue;\r\n }\r\n\r\n result += code <= 255 ? char : \"?\";\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction wrapText(\r\n text: string,\r\n font: PDFFont,\r\n fontSize: number,\r\n maxWidth?: number,\r\n): string[] {\r\n return wrapMeasuredLines(\r\n toWinAnsi(text),\r\n (value) => font.widthOfTextAtSize(value, fontSize),\r\n maxWidth,\r\n );\r\n}\r\n\r\nfunction normalizeRotation(angle: number): number {\r\n return ((angle % 360) + 360) % 360;\r\n}\r\n\r\nfunction getVisualSize(page: PDFPage): { width: number; height: number } {\r\n const { width, height } = page.getSize();\r\n const rotation = normalizeRotation(page.getRotation().angle);\r\n if (rotation === 90 || rotation === 270) {\r\n return { width: height, height: width };\r\n }\r\n return { width, height };\r\n}\r\n\r\nfunction visualToPdf(\r\n page: PDFPage,\r\n visualX: number,\r\n visualYFromBottom: number,\r\n): { x: number; y: number } {\r\n const { width, height } = page.getSize();\r\n const rotation = normalizeRotation(page.getRotation().angle);\r\n\r\n switch (rotation) {\r\n case 90:\r\n return { x: width - visualYFromBottom, y: visualX };\r\n case 180:\r\n return { x: width - visualX, y: height - visualYFromBottom };\r\n case 270:\r\n return { x: visualYFromBottom, y: height - visualX };\r\n default:\r\n return { x: visualX, y: visualYFromBottom };\r\n }\r\n}\r\n\r\nconst HIGHLIGHT_OPACITY = 0.38;\r\n\r\nfunction drawHighlight(page: PDFPage, highlight: HighlightAnnotation) {\r\n const visual = getVisualSize(page);\r\n const color = parseColor(highlight.color);\r\n\r\n for (const rect of highlight.rects) {\r\n const left = rect.left * visual.width;\r\n const top = rect.top * visual.height;\r\n const width = rect.width * visual.width;\r\n const height = rect.height * visual.height;\r\n const corners = [\r\n visualToPdf(page, left, visual.height - top),\r\n visualToPdf(page, left + width, visual.height - top),\r\n visualToPdf(page, left, visual.height - top - height),\r\n visualToPdf(page, left + width, visual.height - top - height),\r\n ];\r\n const xs = corners.map((corner) => corner.x);\r\n const ys = corners.map((corner) => corner.y);\r\n const x = Math.min(...xs);\r\n const y = Math.min(...ys);\r\n\r\n page.drawRectangle({\r\n x,\r\n y,\r\n width: Math.max(0, Math.max(...xs) - x),\r\n height: Math.max(0, Math.max(...ys) - y),\r\n color,\r\n opacity: HIGHLIGHT_OPACITY,\r\n borderWidth: 0,\r\n });\r\n }\r\n}\r\n\r\nfunction drawStroke(page: PDFPage, stroke: DrawStroke) {\r\n if (stroke.points.length === 0) {\r\n return;\r\n }\r\n\r\n const visual = getVisualSize(page);\r\n const pdfPoints = stroke.points.map((point) => {\r\n const visualX = point.x * visual.width;\r\n const visualYFromTop = point.y * visual.height;\r\n const pdfPoint = visualToPdf(page, visualX, visual.height - visualYFromTop);\r\n return { x: pdfPoint.x, y: -pdfPoint.y };\r\n });\r\n\r\n const path = pointsToSvgPath(pdfPoints);\r\n if (!path) {\r\n return;\r\n }\r\n\r\n page.drawSvgPath(path, {\r\n x: 0,\r\n y: 0,\r\n borderColor: parseColor(stroke.color),\r\n borderWidth: stroke.width,\r\n borderLineCap: LineCapStyle.Round,\r\n });\r\n}\r\n\r\nfunction dataUrlToBytes(dataUrl: string): Uint8Array {\r\n const comma = dataUrl.indexOf(\",\");\r\n const base64 = comma >= 0 ? dataUrl.slice(comma + 1) : dataUrl;\r\n const binary = atob(base64);\r\n const bytes = new Uint8Array(binary.length);\r\n for (let index = 0; index < binary.length; index += 1) {\r\n bytes[index] = binary.charCodeAt(index);\r\n }\r\n return bytes;\r\n}\r\n\r\nfunction dataUrlKind(src: string): \"png\" | \"jpg\" {\r\n if (src.startsWith(\"data:image/jpeg\") || src.startsWith(\"data:image/jpg\")) {\r\n return \"jpg\";\r\n }\r\n return \"png\";\r\n}\r\n\r\nfunction drawPlacedImage(\r\n page: PDFPage,\r\n box: {\r\n x: number;\r\n y: number;\r\n width: number;\r\n height: number;\r\n rotation?: number;\r\n opacity?: number;\r\n },\r\n image: PDFImage,\r\n) {\r\n const visual = getVisualSize(page);\r\n const left = box.x * visual.width;\r\n const top = box.y * visual.height;\r\n const width = box.width * visual.width;\r\n const height = box.height * visual.height;\r\n const pageRotation = normalizeRotation(page.getRotation().angle);\r\n const origin = cssBoxToPdfDrawOrigin(\r\n left,\r\n top,\r\n width,\r\n height,\r\n visual.height,\r\n box.rotation ?? 0,\r\n );\r\n const point = visualToPdf(page, origin.x, origin.y);\r\n\r\n page.drawImage(image, {\r\n x: point.x,\r\n y: point.y,\r\n width,\r\n height,\r\n rotate: degrees(normalizeRotation(pageRotation + origin.angle)),\r\n opacity: box.opacity ?? 1,\r\n });\r\n}\r\n\r\nfunction drawAnnotation(\r\n page: PDFPage,\r\n annotation: TextAnnotation,\r\n font: PDFFont,\r\n) {\r\n if (!annotation.text) {\r\n return;\r\n }\r\n\r\n const visual = getVisualSize(page);\r\n const boxLeft = annotation.x * visual.width;\r\n const boxTop = annotation.y * visual.height;\r\n const boxWidth =\r\n annotation.width !== undefined ? annotation.width * visual.width : undefined;\r\n const maxTextWidth =\r\n boxWidth !== undefined ? Math.max(0, boxWidth - TEXT_PADDING_X * 2) : undefined;\r\n const lines = wrapText(\r\n annotation.text,\r\n font,\r\n annotation.fontSize,\r\n maxTextWidth,\r\n );\r\n const color = parseColor(annotation.color);\r\n const pageRotation = normalizeRotation(page.getRotation().angle);\r\n const cssRotation = annotation.rotation ?? 0;\r\n const pdfAngle = -cssRotation;\r\n const resolvedWidth =\r\n boxWidth ??\r\n Math.max(\r\n ...lines.map((line) => (line ? font.widthOfTextAtSize(line, annotation.fontSize) : 0)),\r\n 0,\r\n ) +\r\n TEXT_PADDING_X * 2;\r\n const lineBox = annotation.fontSize * TEXT_LINE_HEIGHT;\r\n const resolvedHeight =\r\n annotation.height !== undefined\r\n ? annotation.height * visual.height\r\n : TEXT_PADDING_Y * 2 + Math.max(lines.length, 1) * lineBox;\r\n const ascent = font.heightAtSize(annotation.fontSize, { descender: false });\r\n const fontHeight = font.heightAtSize(annotation.fontSize);\r\n const halfLeading = (lineBox - fontHeight) / 2;\r\n const centerX = boxLeft + resolvedWidth / 2;\r\n const centerY = visual.height - boxTop - resolvedHeight / 2;\r\n\r\n lines.forEach((line, index) => {\r\n const lineWidth = line ? font.widthOfTextAtSize(line, annotation.fontSize) : 0;\r\n let textX = boxLeft + TEXT_PADDING_X;\r\n\r\n if (boxWidth !== undefined) {\r\n if (annotation.textAlign === \"center\") {\r\n textX = boxLeft + (boxWidth - lineWidth) / 2;\r\n } else if (annotation.textAlign === \"right\") {\r\n textX = boxLeft + boxWidth - TEXT_PADDING_X - lineWidth;\r\n }\r\n }\r\n\r\n const lineTop = TEXT_PADDING_Y + index * lineBox;\r\n if (lineTop + lineBox > resolvedHeight + 0.5) {\r\n return;\r\n }\r\n\r\n const textTop = boxTop + lineTop + halfLeading + ascent;\r\n const origin = rotatePoint(\r\n textX,\r\n visual.height - textTop,\r\n centerX,\r\n centerY,\r\n pdfAngle,\r\n );\r\n const point = visualToPdf(page, origin.x, origin.y);\r\n\r\n if (!line) {\r\n return;\r\n }\r\n\r\n page.drawText(line, {\r\n x: point.x,\r\n y: point.y,\r\n size: annotation.fontSize,\r\n font,\r\n color,\r\n rotate: degrees(normalizeRotation(pageRotation + pdfAngle)),\r\n });\r\n });\r\n}\r\n\r\nexport async function exportPdfBytes(\r\n pdfBytes: Uint8Array,\r\n annotations: TextAnnotation[],\r\n drawings: DrawStroke[] = [],\r\n highlights: HighlightAnnotation[] = [],\r\n signatures: SignatureAnnotation[] = [],\r\n images: ImageAnnotation[] = [],\r\n): Promise<Uint8Array> {\r\n if (\r\n annotations.length === 0 &&\r\n drawings.length === 0 &&\r\n highlights.length === 0 &&\r\n signatures.length === 0 &&\r\n images.length === 0\r\n ) {\r\n return pdfBytes.slice();\r\n }\r\n\r\n const pdf = await PDFDocument.load(pdfBytes);\r\n const fontCache = new Map<StandardFonts, PDFFont>();\r\n\r\n const embedFont = async (key: StandardFonts) => {\r\n const cached = fontCache.get(key);\r\n if (cached) {\r\n return cached;\r\n }\r\n const font = await pdf.embedFont(key);\r\n fontCache.set(key, font);\r\n return font;\r\n };\r\n\r\n const pageCount = pdf.getPageCount();\r\n\r\n for (const highlight of highlights) {\r\n if (highlight.pageNumber < 1 || highlight.pageNumber > pageCount) {\r\n continue;\r\n }\r\n\r\n drawHighlight(pdf.getPage(highlight.pageNumber - 1), highlight);\r\n }\r\n\r\n for (const annotation of annotations) {\r\n if (annotation.pageNumber < 1 || annotation.pageNumber > pageCount) {\r\n continue;\r\n }\r\n\r\n const page = pdf.getPage(annotation.pageNumber - 1);\r\n const fontKey = resolveStandardFont(\r\n annotation.fontFamily,\r\n annotation.fontWeight,\r\n annotation.fontStyle,\r\n );\r\n const font = await embedFont(fontKey);\r\n drawAnnotation(page, annotation, font);\r\n }\r\n\r\n for (const stroke of drawings) {\r\n if (stroke.pageNumber < 1 || stroke.pageNumber > pageCount) {\r\n continue;\r\n }\r\n\r\n const page = pdf.getPage(stroke.pageNumber - 1);\r\n drawStroke(page, stroke);\r\n }\r\n\r\n const imageCache = new Map<string, PDFImage>();\r\n\r\n const embedPlacedImage = async (src: string) => {\r\n const cached = imageCache.get(src);\r\n if (cached) {\r\n return cached;\r\n }\r\n\r\n const bytes = dataUrlToBytes(src);\r\n const image =\r\n dataUrlKind(src) === \"jpg\" ? await pdf.embedJpg(bytes) : await pdf.embedPng(bytes);\r\n imageCache.set(src, image);\r\n return image;\r\n };\r\n\r\n for (const signature of signatures) {\r\n if (signature.pageNumber < 1 || signature.pageNumber > pageCount) {\r\n continue;\r\n }\r\n\r\n const image = await embedPlacedImage(signature.src);\r\n drawPlacedImage(pdf.getPage(signature.pageNumber - 1), signature, image);\r\n }\r\n\r\n for (const placed of images) {\r\n if (placed.pageNumber < 1 || placed.pageNumber > pageCount) {\r\n continue;\r\n }\r\n\r\n const image = await embedPlacedImage(placed.src);\r\n drawPlacedImage(pdf.getPage(placed.pageNumber - 1), placed, image);\r\n }\r\n\r\n const saved = await pdf.save({ useObjectStreams: true });\r\n return saved instanceof Uint8Array ? saved : new Uint8Array(saved);\r\n}\r\n"]}
|