fullbleed 0.1.1 → 0.1.2
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 +23 -6
- package/dist/THIRD_PARTY_NOTICES.txt +2 -2
- package/dist/build.json +7 -7
- package/dist/engine.wasm +0 -0
- package/package.json +4 -3
package/README.md
CHANGED
|
@@ -4,17 +4,23 @@ Generate PDFs from static HTML and CSS in Node.js. The package includes the
|
|
|
4
4
|
Fullbleed Rust engine compiled to WebAssembly and four font faces, so installing
|
|
5
5
|
it does not require Python, Rust, a browser, or system fonts. MIT licensed.
|
|
6
6
|
|
|
7
|
-
This is an optional integration around the unchanged **Fullbleed 2.5.
|
|
8
|
-
The Node package has its own version, **0.1.
|
|
7
|
+
This is an optional integration around the unchanged **Fullbleed 2.5.6** engine.
|
|
8
|
+
The Node package has its own version, **0.1.2**. This patch keeps synthesized-bold
|
|
9
|
+
headings searchable once instead of exposing duplicate text to PDF readers.
|
|
9
10
|
|
|
10
11
|
## Install and render
|
|
11
12
|
|
|
12
|
-
Use Node.js 22 or newer. Install the
|
|
13
|
+
Use Node.js 22 or newer. Install the [npm package](https://www.npmjs.com/package/fullbleed):
|
|
13
14
|
|
|
14
15
|
```bash
|
|
15
|
-
npm install
|
|
16
|
+
npm install fullbleed
|
|
16
17
|
```
|
|
17
18
|
|
|
19
|
+
For a version-pinned installation, use `npm install --save-exact fullbleed@0.1.2`.
|
|
20
|
+
The npm tarball is byte-identical to the verified
|
|
21
|
+
[GitHub release](https://github.com/fullbleed-engine/fullbleed-node/releases/tag/v0.1.2).
|
|
22
|
+
See the [installation verification records](https://github.com/fullbleed-engine/fullbleed-node/tree/main/verification).
|
|
23
|
+
|
|
18
24
|
Save this as `invoice.mjs` and run `node invoice.mjs`:
|
|
19
25
|
|
|
20
26
|
```javascript
|
|
@@ -57,6 +63,14 @@ npm run example
|
|
|
57
63
|
Open `output/invoice/invoice.pdf` and `page-1.png`. The [three-page report
|
|
58
64
|
sources](examples/report.html) demonstrate pagination, tables, and vector artwork.
|
|
59
65
|
|
|
66
|
+
## Use it in Next.js
|
|
67
|
+
|
|
68
|
+
For a web application, start with the [Next.js PDF download example](examples/nextjs).
|
|
69
|
+
It includes a designed invoice, an App Router handler, production build settings
|
|
70
|
+
for the worker and bundled assets, and a standalone-server verification script.
|
|
71
|
+
The route bounds rendering and returns private PDF attachments from fictional
|
|
72
|
+
data; connect your own authenticated record lookup when adapting it.
|
|
73
|
+
|
|
60
74
|
## Fonts and assets
|
|
61
75
|
|
|
62
76
|
Supply file bytes explicitly. Additional fonts are registered alongside the
|
|
@@ -143,8 +157,9 @@ arbitrary browser pages.
|
|
|
143
157
|
|
|
144
158
|
## Build and verify from source
|
|
145
159
|
|
|
146
|
-
Contributors need Node.js 22+ and Rust 1.97.0 with the WASI target.
|
|
147
|
-
|
|
160
|
+
Contributors need Node.js 22+ and Rust 1.97.0 with the WASI target. The independent
|
|
161
|
+
PDF text check also uses Python with the test-only `pypdf==6.19.0` reader. Package
|
|
162
|
+
users do not need a compiler or Python. Dependencies are pinned in both lockfiles.
|
|
148
163
|
|
|
149
164
|
```bash
|
|
150
165
|
rustup target add wasm32-wasip1
|
|
@@ -154,6 +169,8 @@ npm test
|
|
|
154
169
|
npm run check:types
|
|
155
170
|
npm run verify:native
|
|
156
171
|
npm run verify:pack
|
|
172
|
+
python -m pip install pypdf==6.19.0
|
|
173
|
+
npm run verify:text
|
|
157
174
|
```
|
|
158
175
|
|
|
159
176
|
The build records engine metadata, licenses, and artifact hashes in `dist/`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
fullbleed 2.5.
|
|
1
|
+
fullbleed 2.5.6 / LICENSE
|
|
2
2
|
|
|
3
3
|
MIT License
|
|
4
4
|
|
|
@@ -23,7 +23,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
|
23
23
|
SOFTWARE.
|
|
24
24
|
|
|
25
25
|
|
|
26
|
-
fullbleed 2.5.
|
|
26
|
+
fullbleed 2.5.6 / THIRD_PARTY_LICENSES.md
|
|
27
27
|
|
|
28
28
|
<!-- SPDX-License-Identifier: MIT -->
|
|
29
29
|
# Third-Party Licenses
|
package/dist/build.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
-
"packageVersion": "0.1.
|
|
3
|
-
"engineVersion": "2.5.
|
|
4
|
-
"engineSource": "https://crates.io/crates/fullbleed/2.5.
|
|
2
|
+
"packageVersion": "0.1.2",
|
|
3
|
+
"engineVersion": "2.5.6",
|
|
4
|
+
"engineSource": "https://crates.io/crates/fullbleed/2.5.6",
|
|
5
5
|
"target": "wasm32-wasip1",
|
|
6
6
|
"memoryMaximumBytes": 536870912,
|
|
7
7
|
"fonts": [
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"dependencies": [
|
|
14
14
|
{
|
|
15
15
|
"name": "fullbleed",
|
|
16
|
-
"version": "2.5.
|
|
16
|
+
"version": "2.5.6",
|
|
17
17
|
"source": "registry+https://github.com/rust-lang/crates.io-index",
|
|
18
18
|
"license": "MIT"
|
|
19
19
|
},
|
|
@@ -44,12 +44,12 @@
|
|
|
44
44
|
],
|
|
45
45
|
"files": {
|
|
46
46
|
"dist/engine.wasm": {
|
|
47
|
-
"bytes":
|
|
48
|
-
"sha256": "
|
|
47
|
+
"bytes": 5053312,
|
|
48
|
+
"sha256": "2e9c27d67f21483df2e9e63414346eb01170ae5a8ba4a04f48c0a7d647a577a6"
|
|
49
49
|
},
|
|
50
50
|
"dist/THIRD_PARTY_NOTICES.txt": {
|
|
51
51
|
"bytes": 57660,
|
|
52
|
-
"sha256": "
|
|
52
|
+
"sha256": "4a945a683c5f4be6a4c74b59f45aa1f5e6627022a80addddb6eaf68ed3916d9f"
|
|
53
53
|
},
|
|
54
54
|
"assets/fonts/BebasNeue-OFL.txt": {
|
|
55
55
|
"bytes": 4337,
|
package/dist/engine.wasm
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fullbleed",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Generate PDFs from HTML and CSS in Node.js with the Fullbleed Rust engine, bundled fonts, and optional PNG previews.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./src/index.cjs",
|
|
@@ -34,7 +34,8 @@
|
|
|
34
34
|
"check:types": "tsc -p tsconfig.json",
|
|
35
35
|
"verify:native": "node tools/verify-native.mjs",
|
|
36
36
|
"example": "node examples/invoice.mjs",
|
|
37
|
-
"verify:pack": "node tools/verify-pack.mjs"
|
|
37
|
+
"verify:pack": "node tools/verify-pack.mjs",
|
|
38
|
+
"verify:text": "python tools/verify-installed-text.py"
|
|
38
39
|
},
|
|
39
40
|
"dependencies": {
|
|
40
41
|
"@bjorn3/browser_wasi_shim": "0.4.2"
|
|
@@ -62,7 +63,7 @@
|
|
|
62
63
|
"access": "public"
|
|
63
64
|
},
|
|
64
65
|
"fullbleed": {
|
|
65
|
-
"engineVersion": "2.5.
|
|
66
|
+
"engineVersion": "2.5.6"
|
|
66
67
|
},
|
|
67
68
|
"devDependencies": {
|
|
68
69
|
"@types/node": "22.20.5",
|