pdf-fox 1.2.0 → 1.3.0

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 CHANGED
@@ -37,10 +37,17 @@ Options:
37
37
  -b, --background <color> Background color (default: white)
38
38
  -f, --font <name=path> Substitute font for a non-embedded font (repeatable)
39
39
  --no-system-fonts Disable automatic CJK system-font fallback
40
+ --bold <px> Thicken text by this width in px (e.g. 0.6; default: 0)
40
41
  -h, --help Show help
41
42
  -V, --version Show version
42
43
  ```
43
44
 
45
+ ### Text looks too thin?
46
+
47
+ PDF.js renders glyph outlines faithfully, so text can look lighter than in a
48
+ browser, which applies extra font smoothing on macOS. Thicken it with `--bold`
49
+ (or the `stemDarkening` option), e.g. `--bold 0.6`.
50
+
44
51
  ### Non-embedded fonts
45
52
 
46
53
  If a PDF references a font without embedding it, those glyphs would render as
@@ -89,6 +96,7 @@ const rendered = await convertPdfToPng(pdf, {
89
96
  | `background` | `string` | `"white"` | Background color (any CSS color string) |
90
97
  | `fonts` | `Record<string, string>` | `{}` | Substitute fonts for non-embedded fonts, mapping the PDF's font name to a local font file path |
91
98
  | `systemFontFallback` | `boolean` | `true` | Point `serif`/`sans-serif` at an available CJK system font so non-embedded CJK text renders. Disable for font-independent output |
99
+ | `stemDarkening` | `number` | `0` | Thicken text by stroking glyph outlines with this width in output pixels, approximating browser font smoothing. `0` disables; try `0.5`–`1.0` |
92
100
 
93
101
  ## Requirements
94
102
 
package/dist/cli.js CHANGED
@@ -24,6 +24,7 @@ Options:
24
24
  -f, --font <name=path> PDF が埋め込んでいないフォントの代替を指定
25
25
  (複数指定可。name は PDF 内のフォント名)
26
26
  --no-system-fonts CJK システムフォントへの自動フォールバックを無効化
27
+ --bold <px> テキストを太らせる幅 px(例: 0.6。デフォルト: 0=無効)
27
28
  -h, --help ヘルプを表示
28
29
  -V, --version バージョンを表示
29
30
 
@@ -44,6 +45,7 @@ function parseCliArgs() {
44
45
  background: { type: "string", short: "b" },
45
46
  font: { type: "string", short: "f", multiple: true },
46
47
  "no-system-fonts": { type: "boolean" },
48
+ bold: { type: "string" },
47
49
  help: { type: "boolean", short: "h" },
48
50
  version: { type: "boolean", short: "V" },
49
51
  },
@@ -70,6 +72,10 @@ function parseCliArgs() {
70
72
  if (isNaN(dpi) || dpi <= 0) {
71
73
  exitWithError("--dpi は正の数を指定してください");
72
74
  }
75
+ const stemDarkening = values.bold !== undefined ? Number(values.bold) : 0;
76
+ if (isNaN(stemDarkening) || stemDarkening < 0) {
77
+ exitWithError("--bold は 0 以上の数を指定してください");
78
+ }
73
79
  return {
74
80
  inputPath: positionals[0],
75
81
  outputOption: values.output,
@@ -78,6 +84,7 @@ function parseCliArgs() {
78
84
  background: values.background ?? "white",
79
85
  fonts: parseFontMappings(values.font),
80
86
  systemFontFallback: !values["no-system-fonts"],
87
+ stemDarkening,
81
88
  };
82
89
  }
83
90
  // Parses repeated `--font name=path` values into a name → path map.
@@ -127,7 +134,7 @@ function exitWithError(message) {
127
134
  process.exit(1);
128
135
  }
129
136
  async function run() {
130
- const { inputPath, outputOption, page, dpi, background, fonts, systemFontFallback } = parseCliArgs();
137
+ const { inputPath, outputOption, page, dpi, background, fonts, systemFontFallback, stemDarkening } = parseCliArgs();
131
138
  const scale = dpi / PDF_BASE_DPI;
132
139
  let pdfBuffer;
133
140
  try {
@@ -145,6 +152,7 @@ async function run() {
145
152
  background,
146
153
  fonts,
147
154
  systemFontFallback,
155
+ stemDarkening,
148
156
  });
149
157
  }
150
158
  catch (err) {
@@ -155,7 +163,13 @@ async function run() {
155
163
  }
156
164
  let pages;
157
165
  try {
158
- pages = await convertPdfToPng(pdfBuffer, { scale, background, fonts, systemFontFallback });
166
+ pages = await convertPdfToPng(pdfBuffer, {
167
+ scale,
168
+ background,
169
+ fonts,
170
+ systemFontFallback,
171
+ stemDarkening,
172
+ });
159
173
  }
160
174
  catch (err) {
161
175
  exitWithError(err instanceof Error ? err.message : String(err));
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAClF,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGlE,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AAEtE,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,MAAM,WAAW,GAAG,GAAG,CAAC;AAExB,MAAM,IAAI,GAAG;;;;;;;;;;6CAUgC,WAAW;;;;;;;;;;;;;;;CAevD,CAAC;AAiBF,SAAS,YAAY;IACnB,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;QACxC,OAAO,EAAE;YACP,MAAM,EAAM,EAAE,IAAI,EAAE,QAAQ,EAAG,KAAK,EAAE,GAAG,EAAE;YAC3C,IAAI,EAAQ,EAAE,IAAI,EAAE,QAAQ,EAAG,KAAK,EAAE,GAAG,EAAE;YAC3C,GAAG,EAAS,EAAE,IAAI,EAAE,QAAQ,EAAG,KAAK,EAAE,GAAG,EAAE;YAC3C,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAG,KAAK,EAAE,GAAG,EAAE;YAC3C,IAAI,EAAQ,EAAE,IAAI,EAAE,QAAQ,EAAG,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC3D,iBAAiB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACtC,IAAI,EAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;YAC3C,OAAO,EAAK,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;SAC5C;QACD,gBAAgB,EAAE,IAAI;KACvB,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACvD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzE,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;QAChE,aAAa,CAAC,2BAA2B,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IACxE,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;QAC3B,aAAa,CAAC,qBAAqB,CAAC,CAAC;IACvC,CAAC;IAED,OAAO;QACL,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;QACzB,YAAY,EAAE,MAAM,CAAC,MAAM;QAC3B,IAAI;QACJ,GAAG;QACH,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,OAAO;QACxC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC;QACrC,kBAAkB,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC;KAC/C,CAAC;AACJ,CAAC;AAED,oEAAoE;AACpE,SAAS,iBAAiB,CAAC,MAA4B;IACrD,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,KAAK,MAAM,KAAK,IAAI,MAAM,IAAI,EAAE,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YACnB,aAAa,CAAC,qCAAqC,KAAK,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,sDAAsD;AACtD,SAAS,WAAW,CAAC,IAAY;IAC/B,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB,CAAC,SAAiB,EAAE,YAAgC;IAC5E,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;IACjE,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAEvC,oCAAoC;IACpC,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QAC7F,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;IAC9C,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAC1C,CAAC;AAED,SAAS,eAAe,CAAC,IAAgB,EAAE,UAAkB;IAC3D,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC;IAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,MAAM,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,SAAS,CAAC,UAAkB,EAAE,IAAa;IAClD,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,aAAa,CAAC,OAAe;IACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,OAAO,IAAI,CAAC,CAAC;IAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,GAAG;IAChB,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,kBAAkB,EAAE,GACjF,YAAY,EAAE,CAAC;IACjB,MAAM,KAAK,GAAG,GAAG,GAAG,YAAY,CAAC;IAEjC,IAAI,SAAiB,CAAC;IACtB,IAAI,CAAC;QACH,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,aAAa,CAAC,iBAAiB,SAAS,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,UAAU,GAAG,iBAAiB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAE9D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,mBAAmB,CAAC,SAAS,EAAE,IAAI,EAAE;gBAClD,KAAK;gBACL,UAAU;gBACV,KAAK;gBACL,kBAAkB;aACnB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,aAAa,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAClE,CAAC;QACD,SAAS,CAAC,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;QAClE,OAAO;IACT,CAAC;IAED,IAAI,KAAgB,CAAC;IACrB,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAC7F,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,aAAa,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnD,aAAa,CACX,SAAS,KAAK,CAAC,MAAM,yBAAyB;YAC9C,mCAAmC,CACpC,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,SAAS,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAED,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IAClB,aAAa,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAClE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"converter.d.ts","sourceRoot":"","sources":["../src/converter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AA+G1D,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,MAAM,GAAG,UAAU,EAC1B,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,OAAO,CAAC,CAIlB;AAED,wBAAsB,eAAe,CACnC,KAAK,EAAE,MAAM,GAAG,UAAU,EAC1B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,OAAO,EAAE,CAAC,CAYpB"}
1
+ {"version":3,"file":"converter.d.ts","sourceRoot":"","sources":["../src/converter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAkH1D,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,MAAM,GAAG,UAAU,EAC1B,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,OAAO,CAAC,CAIlB;AAED,wBAAsB,eAAe,CACnC,KAAK,EAAE,MAAM,GAAG,UAAU,EAC1B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,OAAO,EAAE,CAAC,CAYpB"}
package/dist/converter.js CHANGED
@@ -64,6 +64,7 @@ async function renderPageToPng(pdfData, pageNumber, options) {
64
64
  const context = canvas.getContext("2d");
65
65
  context.fillStyle = options.background;
66
66
  context.fillRect(0, 0, viewport.width, viewport.height);
67
+ applyStemDarkening(context, options.stemDarkening);
67
68
  // canvasContext only (canvas: null) — PDF.js uses the provided 2D context
68
69
  // directly without trying to call canvas.getContext() internally.
69
70
  await page.render({
@@ -108,8 +109,27 @@ function resolveOptions(options) {
108
109
  return {
109
110
  scale: options?.scale ?? DEFAULT_SCALE,
110
111
  background: options?.background ?? DEFAULT_BACKGROUND,
112
+ stemDarkening: Math.max(0, options?.stemDarkening ?? 0),
111
113
  };
112
114
  }
115
+ function applyStemDarkening(context, width) {
116
+ if (width <= 0)
117
+ return;
118
+ const nativeFill = context.fill.bind(context);
119
+ context.fill = ((path) => {
120
+ nativeFill(path);
121
+ if (!path)
122
+ return;
123
+ const transform = context.getTransform();
124
+ const scale = Math.hypot(transform.a, transform.b) || 1;
125
+ const { strokeStyle, lineWidth } = context;
126
+ context.strokeStyle = context.fillStyle;
127
+ context.lineWidth = width / scale;
128
+ context.stroke(path);
129
+ context.strokeStyle = strokeStyle;
130
+ context.lineWidth = lineWidth;
131
+ });
132
+ }
113
133
  // Sets up font substitution before rendering. Must run before any rendering:
114
134
  // @napi-rs/canvas caches font lookups per process, so fonts registered after
115
135
  // their first use won't take effect.
@@ -1 +1 @@
1
- {"version":3,"file":"converter.js","sourceRoot":"","sources":["../src/converter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAGnG,MAAM,aAAa,GAAG,GAAG,CAAC;AAC1B,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAEnC,gFAAgF;AAChF,0EAA0E;AAC1E,MAAM,eAAe,GAAG;IACtB,sBAAsB;IACtB,UAAU;IACV,WAAW;IACX,WAAW;IACX,mBAAmB;IACnB,eAAe;IACf,qBAAqB;IACrB,aAAa;CACd,CAAC;AACF,MAAM,cAAc,GAAG;IACrB,eAAe;IACf,2BAA2B;IAC3B,UAAU;IACV,WAAW;IACX,QAAQ;IACR,WAAW;IACX,kBAAkB;IAClB,cAAc;IACd,oBAAoB;IACpB,aAAa;CACd,CAAC;AAOF,iEAAiE;AACjE,oCAAoC;AACpC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC;AACjF,mBAAmB,CAAC,SAAS,GAAG,UAAU,UAAU,EAAE,CAAC;AAEvD,+EAA+E;AAC/E,gFAAgF;AAChF,2EAA2E;AAC3E,MAAM,sBAAsB,GAAG,iBAAiB,CAC9C,0CAA0C,EAC1C,gBAAgB,CACjB,CAAC;AACF,yEAAyE;AACzE,+EAA+E;AAC/E,wDAAwD;AACxD,MAAM,QAAQ,GAAG,iBAAiB,CAChC,uCAAuC,EACvC,sBAAsB,CACvB,CAAC;AAEF,SAAS,eAAe,CAAC,OAAmB;IAC1C,8EAA8E;IAC9E,2EAA2E;IAC3E,OAAO,WAAW,CAAC;QACjB,IAAI,EAAE,IAAI,UAAU,CAAC,OAAO,CAAC;QAC7B,mBAAmB,EAAE,sBAAsB;QAC3C,OAAO,EAAE,QAAQ;QACjB,UAAU,EAAE,IAAI;QAChB,mEAAmE;QACnE,yEAAyE;QACzE,oEAAoE;QACpE,SAAS,EAAE,cAAc,CAAC,MAAM;KACjC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,OAAmB,EACnB,UAAkB,EAClB,OAAsB;IAEtB,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC;IAE9C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QAE5D,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAExC,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;QACvC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAExD,0EAA0E;QAC1E,kEAAkE;QAClE,MAAM,IAAI,CAAC,MAAM,CAAC;YAChB,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,OAAc;YAC7B,QAAQ;SACT,CAAC,CAAC,OAAO,CAAC;QAEX,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAE1C,OAAO;YACL,UAAU;YACV,IAAI;YACJ,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,MAAM,EAAE,QAAQ,CAAC,MAAM;SACxB,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC;QAC5B,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAA0B,EAC1B,UAAkB,EAClB,OAAwB;IAExB,YAAY,CAAC,OAAO,CAAC,CAAC;IACtB,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACpC,OAAO,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAA0B,EAC1B,OAAwB;IAExB,YAAY,CAAC,OAAO,CAAC,CAAC;IACtB,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAE9C,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;IAE9C,OAAO,OAAO,CAAC,GAAG,CAChB,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACzC,eAAe,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,CAC/C,CACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,OAAmB;IAC7C,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC;IAC9C,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC;IACnC,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC;IAC5B,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC;IAC5B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,OAAwB;IAC9C,OAAO;QACL,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,aAAa;QACtC,UAAU,EAAE,OAAO,EAAE,UAAU,IAAI,kBAAkB;KACtD,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,6EAA6E;AAC7E,qCAAqC;AACrC,SAAS,YAAY,CAAC,OAAwB;IAC5C,IAAI,OAAO,EAAE,kBAAkB,KAAK,KAAK,EAAE,CAAC;QAC1C,uBAAuB,EAAE,CAAC;IAC5B,CAAC;IACD,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,2EAA2E;AAC3E,4EAA4E;AAC5E,sDAAsD;AACtD,SAAS,uBAAuB;IAC9B,mBAAmB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAC9C,mBAAmB,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,mBAAmB,CAAC,UAAoB,EAAE,OAAe;IAChE,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACnE,IAAI,SAAS,EAAE,CAAC;QACd,WAAW,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED,0EAA0E;AAC1E,sBAAsB;AACtB,SAAS,aAAa,CAAC,KAA8B;IACnD,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,IAAI,WAAW,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,WAAW,IAAI,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,KAA0B;IAC9C,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,iFAAiF;AACjF,SAAS,iBAAiB,CAAC,UAAkB,EAAE,QAAgB;IAC7D,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"converter.js","sourceRoot":"","sources":["../src/converter.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -30,6 +30,17 @@ export interface ConvertOptions {
30
30
  * @default true
31
31
  */
32
32
  systemFontFallback?: boolean;
33
+ /**
34
+ * Thicken text by stroking each filled glyph outline with this width, in
35
+ * output pixels. Approximates the "stem darkening" font smoothing that
36
+ * browsers apply on macOS, where text looks heavier than a faithful outline
37
+ * fill. `0` disables it; try `0.5`–`1.0`.
38
+ *
39
+ * Applies to every filled path, but for solid fills the same-color outline is
40
+ * effectively invisible — the visible effect is on text.
41
+ * @default 0
42
+ */
43
+ stemDarkening?: number;
33
44
  }
34
45
  export interface PngPage {
35
46
  /** 1-indexed page number */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;;;;;;OAUG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE/B;;;;;;;OAOG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,OAAO;IACtB,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;;;;;;OAUG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE/B;;;;;;;OAOG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,OAAO;IACtB,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;CAChB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pdf-fox",
3
- "version": "1.2.0",
3
+ "version": "1.3.0",
4
4
  "description": "PDF to PNG converter using PDF.js",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",