@pdfluent/node-linux-x64-gnu 1.0.0-beta.17.4 → 1.1.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/LICENSE +661 -249
- package/LICENSE-COMMERCIAL +220 -0
- package/LICENSE-OFFER +45 -0
- package/NOTICE +150 -0
- package/README.md +43 -11
- package/THIRD_PARTY_LICENSES.txt +844 -0
- package/index.linux-x64-gnu.node +0 -0
- package/package.json +9 -5
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
PDFluent Commercial Licence
|
|
2
|
+
===========================
|
|
3
|
+
|
|
4
|
+
Version 3.0 — 6 September 2026
|
|
5
|
+
Innovation Trigger B.V., trading as PDFluent, Netherlands.
|
|
6
|
+
|
|
7
|
+
This licence replaces version 2.0 of 31 August 2026, which described the same
|
|
8
|
+
rights sold as a perpetual licence through a signed order form. The rights are
|
|
9
|
+
unchanged. What changed on 6 September 2026 is how the licence is bought and how
|
|
10
|
+
long it runs: four self-service prices, yearly, bought on the website in a
|
|
11
|
+
minute. Version 1.0 of 2 May 2026, which described licence keys, tiers and an
|
|
12
|
+
expiring evaluation, described a product that no longer exists.
|
|
13
|
+
|
|
14
|
+
Licences granted under version 2.0 or earlier were perpetual for the versions
|
|
15
|
+
they named and remain so. Nothing in this text withdraws or replaces them.
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
1. Why this licence exists
|
|
19
|
+
--------------------------
|
|
20
|
+
|
|
21
|
+
PDFluent is published under the GNU AGPLv3 (the LICENSE file). That is the
|
|
22
|
+
default, and it is the complete product: no feature is withheld, no key is
|
|
23
|
+
required, nothing expires.
|
|
24
|
+
|
|
25
|
+
The AGPL asks something in return. If you convey the software, or let users
|
|
26
|
+
interact with a modified version over a network, you must offer those users the
|
|
27
|
+
corresponding source under the same licence. For many organisations that is
|
|
28
|
+
fine. For some it is impossible — because the surrounding product is closed, or
|
|
29
|
+
a customer contract forbids it, or the legal department will not accept a
|
|
30
|
+
copyleft obligation in a shipped binary.
|
|
31
|
+
|
|
32
|
+
This licence is the alternative for exactly that case. You are not buying
|
|
33
|
+
features. You are buying the right not to publish your own source.
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
2. What you get
|
|
37
|
+
---------------
|
|
38
|
+
|
|
39
|
+
On payment of the fee, PDFluent grants the licensee a non-exclusive, worldwide
|
|
40
|
+
licence, for the term in section 8, to use, modify and distribute the PDFluent
|
|
41
|
+
software in the licensee's own products, without the obligations of the AGPL.
|
|
42
|
+
What the licensee conveyed to its own customers during the term stays covered
|
|
43
|
+
after it: the term bounds which releases may be taken under this licence, never
|
|
44
|
+
how long what was already shipped may be used.
|
|
45
|
+
|
|
46
|
+
Specifically:
|
|
47
|
+
|
|
48
|
+
a. Distribution of the software as part of a compiled product, without
|
|
49
|
+
supplying source to the recipients.
|
|
50
|
+
b. Operation as a network service, without the AGPL section 13 obligation.
|
|
51
|
+
c. Internal use of any kind.
|
|
52
|
+
d. Deployment in environments without network access. Nothing in the software
|
|
53
|
+
contacts a server, so this needs no permission and costs nothing extra.
|
|
54
|
+
|
|
55
|
+
The scope of one licence and its price are in section 2a below. Nothing in the
|
|
56
|
+
software distinguishes a licensed build from an unlicensed one, so nothing stops
|
|
57
|
+
working when a licence ends: see sections 5 and 8.
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
2a. The four prices
|
|
61
|
+
-------------------
|
|
62
|
+
|
|
63
|
+
All yearly, in euro, excluding VAT, bought at https://pdfluent.com/sdk/pricing
|
|
64
|
+
and cancellable at any time in the billing portal there.
|
|
65
|
+
|
|
66
|
+
Commercial 999 per organisation. Grants b and c, and a for a product
|
|
67
|
+
the licensee does not sell PDF functionality from.
|
|
68
|
+
Unlimited developers.
|
|
69
|
+
OEM Startup 2,499 per product. Grants a, b and c without that limit, for
|
|
70
|
+
an organisation whose revenue is below EUR 1,000,000,
|
|
71
|
+
declared by the licensee at the time of purchase. Above
|
|
72
|
+
that threshold the OEM price applies from the next
|
|
73
|
+
renewal.
|
|
74
|
+
OEM 9,999 per product. The same grants, every other organisation.
|
|
75
|
+
Priority 4,999 Not a licence. A support subscription: a reply within
|
|
76
|
+
support one working day, on working days. Section 6 otherwise
|
|
77
|
+
applies.
|
|
78
|
+
|
|
79
|
+
The rule that decides Commercial from OEM, which is the only distinction
|
|
80
|
+
between them that matters:
|
|
81
|
+
|
|
82
|
+
If your customers pay you for PDF functionality that PDFluent provides — a
|
|
83
|
+
conversion API, a PDF/A service, an OCR service, hosted PDF tooling — that is
|
|
84
|
+
OEM, not Commercial.
|
|
85
|
+
|
|
86
|
+
Building PDF handling into your own product is Commercial. Selling PDF handling
|
|
87
|
+
to your customers is OEM. A licence covers one organisation or one named
|
|
88
|
+
product, as stated above; a second product is a second licence.
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
3. What is not covered
|
|
92
|
+
----------------------
|
|
93
|
+
|
|
94
|
+
Several components in the repository are forks of third-party open-source
|
|
95
|
+
projects and remain under their own permissive licences. They are not PDFluent's
|
|
96
|
+
to relicense and need no licence from PDFluent. `NOTICE` records which they are;
|
|
97
|
+
`docs/licensing/boundary.toml` is the machine-readable version.
|
|
98
|
+
|
|
99
|
+
This licence covers the components on PDFluent's side of that boundary.
|
|
100
|
+
|
|
101
|
+
Optional model files and runtime libraries that the software downloads on
|
|
102
|
+
your explicit request (for example with `pdfluent models install`) are
|
|
103
|
+
licensed as follows. Model files trained by PDFluent are licensed under
|
|
104
|
+
the same terms as the software. Third-party model files and runtime
|
|
105
|
+
libraries are licensed to you under their own terms, listed in the notice
|
|
106
|
+
that accompanies them, and are provided as-is; PDFluent gives no warranty
|
|
107
|
+
or indemnity for them.
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
4. Attribution
|
|
111
|
+
--------------
|
|
112
|
+
|
|
113
|
+
Documents produced by the software carry "PDFluent" in the PDF `/Producer` entry
|
|
114
|
+
and in XMP metadata. Under this licence you may remove or replace that string in
|
|
115
|
+
your build. So may an AGPL licensee: the attribution term that once required
|
|
116
|
+
that string to be preserved was withdrawn with the move to AGPL-3.0-only, and
|
|
117
|
+
nothing replaced it. What a commercial licence changes is the copyleft, not
|
|
118
|
+
the branding.
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
5. What this licence does not contain, and why
|
|
122
|
+
----------------------------------------------
|
|
123
|
+
|
|
124
|
+
No telemetry, no licence key, and no check of any kind in the software.
|
|
125
|
+
|
|
126
|
+
Stated accurately rather than aspirationally: until 6 September 2026 the build
|
|
127
|
+
still carried tier checks from the previous model, so an unlicensed binary
|
|
128
|
+
reported `Tier::Trial` and refused some capabilities. Those checks are gone
|
|
129
|
+
(issue #226). No code in the software reads a key, refuses a capability, or
|
|
130
|
+
marks output, and `scripts/ci/no_licence_key_in_a_binding.py` refuses a change
|
|
131
|
+
that puts one back. It was never a condition of this licence — a commercial
|
|
132
|
+
licensee's rights come from this agreement, not from a check in the binary.
|
|
133
|
+
|
|
134
|
+
This is deliberate, not an omission. Published source means any technical check
|
|
135
|
+
can be removed by anyone who has the code, in minutes, so such a check would
|
|
136
|
+
only ever inconvenience the people who intended to pay. The obligation here is
|
|
137
|
+
contractual, and it is enforceable in the ordinary way.
|
|
138
|
+
|
|
139
|
+
Consequently there is nothing to install, nothing to activate, and nothing that
|
|
140
|
+
can break in production because a file expired or a server was unreachable. A
|
|
141
|
+
licence that lapses is a change in what the licensee may do, never a change in
|
|
142
|
+
what the software does.
|
|
143
|
+
|
|
144
|
+
What a licensee receives is the order confirmation issued at purchase and a
|
|
145
|
+
licence document naming the licensee, the licence, the product where one
|
|
146
|
+
applies, and the term. Those two together are the licence, and they are the
|
|
147
|
+
deliverables. A signed order form is available for a licensee whose procurement
|
|
148
|
+
requires one; it is not the ordinary route and it changes nothing about the
|
|
149
|
+
rights.
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
6. Support and updates
|
|
153
|
+
----------------------
|
|
154
|
+
|
|
155
|
+
This licence grants rights to the software. It is not a support contract and
|
|
156
|
+
does not promise response times or fixes. Every release published during the
|
|
157
|
+
term may be taken under it, which is what a licensee is buying when they renew.
|
|
158
|
+
|
|
159
|
+
A response time is promised only where priority support is bought (section 2a),
|
|
160
|
+
or where a separate services agreement says so; either prevails over this
|
|
161
|
+
section.
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
7. Warranty and liability
|
|
165
|
+
-------------------------
|
|
166
|
+
|
|
167
|
+
The software is provided "as is", without warranty of any kind, express or
|
|
168
|
+
implied, including but not limited to the warranties of merchantability, fitness
|
|
169
|
+
for a particular purpose and non-infringement.
|
|
170
|
+
|
|
171
|
+
To the maximum extent permitted by applicable law, PDFluent's aggregate
|
|
172
|
+
liability under or in connection with this licence shall not exceed the fees
|
|
173
|
+
paid by the licensee for it. Nothing in this licence excludes or limits
|
|
174
|
+
liability that cannot lawfully be excluded or limited, including liability for
|
|
175
|
+
intentional misconduct or gross negligence.
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
8. Term and termination
|
|
179
|
+
-----------------------
|
|
180
|
+
|
|
181
|
+
The licence runs for the term paid for and renews yearly until the licensee
|
|
182
|
+
cancels. Cancellation takes effect at the end of the paid term.
|
|
183
|
+
|
|
184
|
+
When the term ends, the licensee's rights under section 2 end with it. Nothing
|
|
185
|
+
breaks: no release stops working, nothing already shipped is affected, and no
|
|
186
|
+
code in the software consults this agreement. What ends is the right to convey
|
|
187
|
+
or operate releases under this licence rather than under the AGPL. Rights
|
|
188
|
+
already granted to the licensee's own customers for versions already shipped are
|
|
189
|
+
not affected, and neither is anything the licensee shipped during the term.
|
|
190
|
+
|
|
191
|
+
The licence also terminates on a material breach that the licensee has not
|
|
192
|
+
remedied within 30 days of written notice.
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
9. Law and forum
|
|
196
|
+
----------------
|
|
197
|
+
|
|
198
|
+
This licence is governed by the laws of the Netherlands. Disputes are submitted
|
|
199
|
+
to the competent court in the district where PDFluent has its registered seat,
|
|
200
|
+
without prejudice to any mandatory consumer or statutory forum.
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
10. The agreement
|
|
204
|
+
-----------------
|
|
205
|
+
|
|
206
|
+
For a self-service purchase, the agreement is this text together with the order
|
|
207
|
+
confirmation and the licence document described in section 5. Those record the
|
|
208
|
+
licensee, the licensed scope, the product where one applies, the term and the
|
|
209
|
+
fee. Where they conflict with this text, they prevail for the facts they state.
|
|
210
|
+
|
|
211
|
+
Where a licensee's procurement requires a signed order form, the licensee, the
|
|
212
|
+
licensed scope, the fee and any agreed support are recorded in one signed by
|
|
213
|
+
both parties, and that form and this text together are the agreement. Where they
|
|
214
|
+
conflict, the order form prevails.
|
|
215
|
+
|
|
216
|
+
The template is `docs/licensing/order-form.md`. It is a template and not an
|
|
217
|
+
agreement: an order form binds only once it is filled in and signed by both
|
|
218
|
+
parties.
|
|
219
|
+
|
|
220
|
+
Contact: sales@pdfluent.com
|
package/LICENSE-OFFER
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-PDFluent-Commercial
|
|
2
|
+
|
|
3
|
+
PDFluent is available under two licences, at your option
|
|
4
|
+
=======================================================
|
|
5
|
+
|
|
6
|
+
1. The GNU Affero General Public License, version 3.
|
|
7
|
+
|
|
8
|
+
LICENSE the FSF text, verbatim
|
|
9
|
+
|
|
10
|
+
2. The PDFluent Commercial Licence.
|
|
11
|
+
|
|
12
|
+
LICENSE-COMMERCIAL
|
|
13
|
+
|
|
14
|
+
Choose either. You do not need permission to choose the first.
|
|
15
|
+
|
|
16
|
+
The AGPL is the default. No key is required to receive it, nothing expires, and
|
|
17
|
+
the rights it grants are not conditional on anything we do. It asks something in
|
|
18
|
+
return: if you convey the software, or let users interact with a modified
|
|
19
|
+
version over a network, you must offer those users the corresponding source
|
|
20
|
+
under the same licence.
|
|
21
|
+
|
|
22
|
+
If that is impossible for you -- a closed surrounding product, a customer
|
|
23
|
+
contract, a legal department that will not accept copyleft in a shipped
|
|
24
|
+
binary -- the commercial licence is the alternative. Under it you are not buying
|
|
25
|
+
features. You are buying the right not to publish your own source. It is sold at
|
|
26
|
+
https://pdfluent.com/sdk/pricing; enquiries go to sales@pdfluent.com.
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
Why this file exists, and what it is not
|
|
30
|
+
----------------------------------------
|
|
31
|
+
|
|
32
|
+
It is not a licence and it grants nothing. It is the statement of the offer, for
|
|
33
|
+
the two channels that cannot spell the offer in their own metadata.
|
|
34
|
+
|
|
35
|
+
npm rejects a LicenseRef expression outright -- measured with
|
|
36
|
+
validate-npm-package-license 3.0.4, the library npm itself uses -- and
|
|
37
|
+
nuget.org refuses one with NU5124. Both offer the same way out: point at a file.
|
|
38
|
+
Until 07-09-2026 that pointer resolved to LICENSE, because LICENSE then opened
|
|
39
|
+
with this same statement. Since then LICENSE holds the AGPL text and nothing
|
|
40
|
+
else, so that a licence scanner reading it sees the AGPL rather than prose it
|
|
41
|
+
cannot classify -- which is the whole point of that change, and it is why the
|
|
42
|
+
pointer needs a file of its own rather than a sentence bolted onto the licence.
|
|
43
|
+
|
|
44
|
+
The full explanation, with the history and what the build currently does, is the
|
|
45
|
+
Licence section of README.md.
|
package/NOTICE
ADDED
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
PDFluent — Notice on License Composition
|
|
2
|
+
|
|
3
|
+
PDFluent is distributed across multiple Rust crates. Different crates within
|
|
4
|
+
the project carry different licenses depending on their origin and role.
|
|
5
|
+
Read this file together with the LICENSE file in the repository root.
|
|
6
|
+
|
|
7
|
+
============================================================================
|
|
8
|
+
OPEN-SOURCE FOUNDATION (permissive upstream licences)
|
|
9
|
+
============================================================================
|
|
10
|
+
|
|
11
|
+
The following crates are forks of upstream open-source libraries and remain
|
|
12
|
+
distributed under their original permissive licenses. They may be used
|
|
13
|
+
without a commercial license from PDFluent, subject only to the terms of
|
|
14
|
+
their respective open-source licenses:
|
|
15
|
+
|
|
16
|
+
pdfluent-lopdf MIT
|
|
17
|
+
(forked from lopdf, https://crates.io/crates/lopdf)
|
|
18
|
+
|
|
19
|
+
pdfluent-cff MIT OR Apache-2.0
|
|
20
|
+
(forked from cff-parser)
|
|
21
|
+
|
|
22
|
+
pdfluent-ccitt Apache-2.0 OR MIT
|
|
23
|
+
(forked from hayro-ccitt by Laurenz Stampfl,
|
|
24
|
+
https://github.com/LaurenzV/hayro)
|
|
25
|
+
|
|
26
|
+
pdfluent-jbig2 Apache-2.0 OR MIT
|
|
27
|
+
(forked from hayro-jbig2)
|
|
28
|
+
|
|
29
|
+
pdfluent-jpeg2000 Apache-2.0 OR MIT
|
|
30
|
+
(forked from hayro-jpeg2000)
|
|
31
|
+
|
|
32
|
+
pdf-syntax Apache-2.0 OR MIT
|
|
33
|
+
(forked from hayro-syntax)
|
|
34
|
+
|
|
35
|
+
pdf-interpret Apache-2.0 OR MIT
|
|
36
|
+
(forked from hayro-interpret)
|
|
37
|
+
|
|
38
|
+
pdf-render Apache-2.0 OR MIT
|
|
39
|
+
(substantially extended fork of hayro, co-authored by
|
|
40
|
+
Laurenz Stampfl)
|
|
41
|
+
|
|
42
|
+
pdf-font Apache-2.0 OR MIT
|
|
43
|
+
(substantially extended fork merging hayro-font,
|
|
44
|
+
hayro-cmap and hayro-postscript, co-authored by
|
|
45
|
+
Laurenz Stampfl; carries Adobe's CMap resources as
|
|
46
|
+
crates/pdf-font/assets/cmaps.brotli, © 1990-2023 Adobe,
|
|
47
|
+
BSD-3-Clause, with the licence text beside it as
|
|
48
|
+
crates/pdf-font/assets/LICENSE.txt)
|
|
49
|
+
|
|
50
|
+
pdf-render and pdf-font carry substantial PDFluent work on top of the upstream
|
|
51
|
+
code. That does not move them across the line: they are derivative works of an
|
|
52
|
+
Apache-2.0 OR MIT original whose relicensing is prohibited, so they stay
|
|
53
|
+
Apache-2.0 OR MIT here, however far they are extended.
|
|
54
|
+
|
|
55
|
+
The original copyright notices for these upstream projects are preserved
|
|
56
|
+
in their respective source files and in the THIRD_PARTY_LICENSES.txt file.
|
|
57
|
+
|
|
58
|
+
============================================================================
|
|
59
|
+
DUAL-LICENSED COMPONENTS (AGPL-3.0-only OR PDFluent Commercial Licence)
|
|
60
|
+
============================================================================
|
|
61
|
+
|
|
62
|
+
The following crates are PDFluent's own work and are available under two
|
|
63
|
+
licences, at your option: the GNU AGPLv3, or the PDFluent Commercial Licence.
|
|
64
|
+
See the LICENSE file in this repository.
|
|
65
|
+
|
|
66
|
+
The AGPL is the complete product; no feature is withheld and nothing expires.
|
|
67
|
+
It asks that you offer your users the corresponding source under the same
|
|
68
|
+
licence if you convey the software or let them use a modified version over a
|
|
69
|
+
network. The commercial licence is the alternative for anyone who cannot do
|
|
70
|
+
that. See https://pdfluent.com/sdk/pricing.
|
|
71
|
+
|
|
72
|
+
pdfluent — the unified facade SDK
|
|
73
|
+
pdf-engine — orchestration and document model
|
|
74
|
+
(the TATR post-processing behind `ort-tables` is a port of
|
|
75
|
+
Microsoft's table-transformer, © Microsoft Corporation,
|
|
76
|
+
MIT; that notice ships inside the crate as THIRD_PARTY.md)
|
|
77
|
+
pdf-manip — page-level manipulation (merge, split, rotate, etc.)
|
|
78
|
+
(six unmodified Adobe CMap resources, compiled in
|
|
79
|
+
to read the character codes of a predefined CMap;
|
|
80
|
+
© 1990-2023 Adobe, BSD-3-Clause; that licence
|
|
81
|
+
ships inside the crate as
|
|
82
|
+
resources/cid-tables/LICENSE-Adobe-CMap.txt)
|
|
83
|
+
pdf-redact — content redaction
|
|
84
|
+
pdfluent-sign — digital signatures (PAdES, S/MIME)
|
|
85
|
+
pdf-compliance — PDF/A, PDF/UA, PDF/X validation and conversion
|
|
86
|
+
pdfluent-extract — text and image extraction
|
|
87
|
+
epub-extract — EPUB content extraction
|
|
88
|
+
pdfluent-forms — AcroForm support
|
|
89
|
+
pdf-annot — annotations
|
|
90
|
+
pdf-docx — DOCX export
|
|
91
|
+
pdf-xlsx — XLSX export and table extraction
|
|
92
|
+
xlsx-extract — XLSX workbook extraction to engine blocks
|
|
93
|
+
pdf-pptx — PowerPoint PPTX export
|
|
94
|
+
pptx-extract — PowerPoint PPTX extraction to blocks
|
|
95
|
+
pdf-invoice — FDF/XFDF form data exchange and ZUGFeRD/Factur-X
|
|
96
|
+
pdf-text-format — text run formatting
|
|
97
|
+
pdf-standard-fonts — the Standard 14 font programs, compiled in
|
|
98
|
+
(the font programs themselves come from PDFium,
|
|
99
|
+
© 2014 Foxit Software Inc., BSD-3-Clause; that
|
|
100
|
+
notice ships inside the crate)
|
|
101
|
+
pdf-substitute-fonts — the substitute font programs, compiled in
|
|
102
|
+
(twelve unmodified Liberation 2.1.5 faces and two
|
|
103
|
+
unmodified Noto Naskh Arabic v2.021 faces, both SIL
|
|
104
|
+
Open Font License 1.1; those licences ship inside the
|
|
105
|
+
crate as LICENSE-Liberation.txt and
|
|
106
|
+
LICENSE-NotoNaskhArabic.txt. "Noto" is a trademark of
|
|
107
|
+
Google LLC, named as a fact about the bytes and not
|
|
108
|
+
as an endorsement)
|
|
109
|
+
pdf-ocr — OCR integration
|
|
110
|
+
pdf-xfa — XFA processing engine
|
|
111
|
+
xfa-dom-resolver — XFA DOM
|
|
112
|
+
xfa-layout-engine — XFA layout engine
|
|
113
|
+
xfa-js-sandboxed — sandboxed JavaScript runtime for XFA scripts
|
|
114
|
+
formcalc-interpreter — FormCalc evaluation
|
|
115
|
+
xfa-json — XFA JSON conversion
|
|
116
|
+
pdfluent-cli — command-line interface over the facade
|
|
117
|
+
|
|
118
|
+
The Software produces the same output whether or not a commercial licence is
|
|
119
|
+
held: there is no licence key, nothing is withheld and no marker is added
|
|
120
|
+
(#226). Documents carry "PDFluent" in the PDF Producer entry and in XMP
|
|
121
|
+
metadata, which either licence lets you replace or remove in your own build.
|
|
122
|
+
See LICENSE-COMMERCIAL §4.
|
|
123
|
+
|
|
124
|
+
============================================================================
|
|
125
|
+
EVALUATION
|
|
126
|
+
============================================================================
|
|
127
|
+
|
|
128
|
+
Every crate above may be evaluated with nothing asked in return: no key, no
|
|
129
|
+
sign-up, no time limit. There is no separate evaluation build -- what you
|
|
130
|
+
install is the whole product, under the AGPLv3.
|
|
131
|
+
|
|
132
|
+
What an evaluation ends with is a choice of licence rather than an expiry:
|
|
133
|
+
the AGPL and its obligation to offer your users the corresponding source, or
|
|
134
|
+
the commercial licence, which removes that obligation. The commercial route
|
|
135
|
+
is self-service and yearly -- Commercial EUR 999 per organisation, OEM Startup
|
|
136
|
+
EUR 2,499 and OEM EUR 9,999 per product (LICENSE-COMMERCIAL §2a). Nothing is
|
|
137
|
+
delivered but an order confirmation and a licence document; there is no key.
|
|
138
|
+
Questions before buying: sales@pdfluent.com.
|
|
139
|
+
|
|
140
|
+
Licensing: https://pdfluent.com/docs/licensing
|
|
141
|
+
Pricing: https://pdfluent.com/sdk/pricing
|
|
142
|
+
Terms: https://pdfluent.com/terms
|
|
143
|
+
|
|
144
|
+
============================================================================
|
|
145
|
+
CONTACT
|
|
146
|
+
============================================================================
|
|
147
|
+
|
|
148
|
+
Innovation Trigger B.V. (operating as PDFluent)
|
|
149
|
+
hello@pdfluent.com
|
|
150
|
+
https://pdfluent.com
|
package/README.md
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# @pdfluent/node
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[Source on GitHub](https://github.com/pdfluent/pdfluent-sdk) · [Documentation](https://pdfluent.com/docs) · [Report an issue](https://github.com/pdfluent/pdfluent-sdk/issues)
|
|
4
|
+
|
|
5
|
+
PDFluent for Node.js: a pure-Rust PDF engine bound through [napi-rs](https://napi.rs).
|
|
4
6
|
Supports rendering, text extraction, forms, annotations, redaction, encryption, digital signatures,
|
|
5
7
|
and PDF/A compliance validation.
|
|
6
8
|
|
|
@@ -68,7 +70,7 @@ const doc = openPdf('/path/to/document.pdf');
|
|
|
68
70
|
- **Encryption** — encrypt with AES-256, decrypt password-protected PDFs
|
|
69
71
|
- **Digital signatures** — validate existing signatures
|
|
70
72
|
- **Bookmarks** — read the document outline
|
|
71
|
-
- **PDF/A compliance** — validate against levels 1a/1b through 3a/3b/3u
|
|
73
|
+
- **PDF/A compliance** — validate against levels 1a/1b through 3a/3b/3u. This binding validates; it does not convert. PDF/A conversion is delivered at 1B, 2B and 3B, through the Rust facade, the WASM package and the C ABI
|
|
72
74
|
- **Async API** — Promise-based worker-thread execution; no event-loop blocking
|
|
73
75
|
- **TypeScript** — full `.d.ts` declarations with JSDoc included
|
|
74
76
|
|
|
@@ -120,6 +122,11 @@ const blocks = doc.extractTextBlocks(0); // TextBlockInfo[] with x/y/fontSize
|
|
|
120
122
|
const hits = doc.searchText('invoice'); // number[] of page indices
|
|
121
123
|
```
|
|
122
124
|
|
|
125
|
+
`extractMarkdown` runs in the `fast` tier by default and takes
|
|
126
|
+
`quality: "balanced"` for the preview model tier, with `modelDir` and
|
|
127
|
+
`tableModelDir` pointing it at directories outside the default. See
|
|
128
|
+
[Quality tiers](../../docs/STRUCTURED_EXTRACTION.md#quality-tiers).
|
|
129
|
+
|
|
123
130
|
#### Forms (AcroForm)
|
|
124
131
|
|
|
125
132
|
```js
|
|
@@ -232,6 +239,30 @@ const report = validatePdfa('document.pdf', '2b');
|
|
|
232
239
|
console.log(report.compliant, report.errorCount);
|
|
233
240
|
```
|
|
234
241
|
|
|
242
|
+
### Errors
|
|
243
|
+
|
|
244
|
+
Every failing call throws a `PdfluentError` (a rejected promise for the async
|
|
245
|
+
ones). Branch on `.code`, never on `.message`: the codes are stable, the
|
|
246
|
+
wording is not.
|
|
247
|
+
|
|
248
|
+
```js
|
|
249
|
+
const { PdfDocument, PdfluentError } = require('@pdfluent/node');
|
|
250
|
+
|
|
251
|
+
try {
|
|
252
|
+
PdfDocument.openWithPassword(bytes, password);
|
|
253
|
+
} catch (e) {
|
|
254
|
+
if (e instanceof PdfluentError && e.code === 'E-SECURITY-DECRYPTION-FAILED') {
|
|
255
|
+
// ask for the password again
|
|
256
|
+
} else {
|
|
257
|
+
throw e;
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
`.operation` names the call that failed (`"openWithPassword"`), `.cause` is
|
|
263
|
+
`null` or a detail string. The codes are listed at
|
|
264
|
+
<https://pdfluent.com/errors>.
|
|
265
|
+
|
|
235
266
|
### Integration with Sharp
|
|
236
267
|
|
|
237
268
|
```js
|
|
@@ -242,19 +273,20 @@ await sharp(result.data, {
|
|
|
242
273
|
}).png().toFile('page.png');
|
|
243
274
|
```
|
|
244
275
|
|
|
245
|
-
##
|
|
246
|
-
|
|
247
|
-
**PDFluent Commercial License** — free for evaluation; a valid license is required for production use.
|
|
248
|
-
|
|
249
|
-
- **30-day evaluation key** (full features, no output watermark): <https://pdfluent.com/trial>
|
|
250
|
-
- **Pricing:** <https://pdfluent.com/pricing>
|
|
251
|
-
- **Commercial terms:** <https://pdfluent.com/terms>
|
|
276
|
+
## Licence
|
|
252
277
|
|
|
253
|
-
|
|
278
|
+
AGPL-3.0 or a commercial licence, at your option. The AGPL is the default and
|
|
279
|
+
the complete product: there is no licence key, no activation call and no tier,
|
|
280
|
+
and every feature works in every build. If you cannot accept the copyleft
|
|
281
|
+
obligation, the commercial licence is sold yearly and self-service at
|
|
282
|
+
[pdfluent.com/sdk/pricing](https://pdfluent.com/sdk/pricing), in four options: Commercial (per
|
|
283
|
+
organisation), OEM Startup and OEM (per product), and Priority support (an
|
|
284
|
+
add-on). The two texts are `LICENSE` and `LICENSE-COMMERCIAL` in this package.
|
|
254
285
|
|
|
255
286
|
## Links
|
|
256
287
|
|
|
257
288
|
- **Documentation:** <https://pdfluent.com/docs>
|
|
258
|
-
- **
|
|
289
|
+
- **Pricing:** <https://pdfluent.com/sdk/pricing>
|
|
290
|
+
- **Support:** <https://pdfluent.com/support>
|
|
259
291
|
- **PDFluent editor** (source-available): <https://github.com/pdfluent/pdfluent>. The free desktop app this SDK powers.
|
|
260
292
|
- Built by [Innovation Trigger BV](https://pdfluent.com)
|