@opendataloader/pdf 0.0.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 ADDED
@@ -0,0 +1,402 @@
1
+ # OpenDataLoader PDF
2
+
3
+ ![Pre-release](https://img.shields.io/badge/Pre--release-FFA500&logo=github)
4
+ [![License](https://img.shields.io/pypi/l/opendataloader-pdf.svg)](https://github.com/opendataloader-project/opendataloader-pdf/blob/main/LICENSE)
5
+ ![Java](https://img.shields.io/badge/Java-11+-blue.svg)
6
+ ![Python](https://img.shields.io/badge/Python-3.8+-blue.svg)
7
+ [![Maven Central](https://img.shields.io/maven-central/v/io.github.opendataloader-project/opendataloader-pdf-core.svg)](https://search.maven.org/artifact/io.github.opendataloader-project/opendataloader-pdf-core)
8
+ [![PyPI version](https://img.shields.io/pypi/v/opendataloader-pdf.svg)](https://pypi.org/project/opendataloader-pdf/)
9
+ [![GHCR Version](https://ghcr-badge.egpl.dev/opendataloader-project/opendataloader-pdf-cli/latest_tag?trim=major&label=docker-image)](https://github.com/opendataloader-project/opendataloader-pdf/pkgs/container/opendataloader-pdf-cli)
10
+ [![Coverage](https://codecov.io/gh/opendataloader-project/opendataloader-pdf/branch/main/graph/badge.svg)](https://app.codecov.io/gh/opendataloader-project/opendataloader-pdf)
11
+ [![CLA assistant](https://cla-assistant.io/readme/badge/opendataloader-project/opendataloader-pdf)](https://cla-assistant.io/opendataloader-project/opendataloader-pdf)
12
+
13
+ <br/>
14
+
15
+ **Safe, Open, High-Performance β€” PDF for AI**
16
+
17
+ OpenDataLoader-PDF converts PDFs into JSON, Markdown or Html β€” ready to feed into modern AI stacks (LLMs, vector search, and RAG).
18
+
19
+ It reconstructs document layout (headings, lists, tables, and reading order) so the content is easier to chunk, index, and query.
20
+ Powered by fast, heuristic, rule-based inference, it runs entirely on your local machine and delivers high-throughput processing for large document sets.
21
+ AI-safety is enabled by default and automatically filters likely prompt-injection content embedded in PDFs to reduce downstream risk.
22
+
23
+ <br/>
24
+
25
+ ## 🌟 Key Features
26
+
27
+ - 🧾 **Rich, Structured Output** β€” JSON, Markdown or Html
28
+ - 🧩 **Layout Reconstruction** β€” Headings, Lists, Tables, Images, Reading Order
29
+ - ⚑ **Fast & Lightweight** β€” Rule-Based Heuristic, High-Throughput, No GPU
30
+ - πŸ”’ **Local-First Privacy** β€” Runs fully on your machine
31
+ - πŸ›‘οΈ **AI-Safety** β€” Auto-Filters likely prompt-injection content - [Learn more about AI-Safety](https://github.com/opendataloader-project/opendataloader-pdf/blob/main/docs/AI_SAFETY.md)
32
+ - πŸ–οΈ **Annotated PDF Visualization** β€” See detected structures overlaid on the original
33
+
34
+ [Download Annotated PDF Sample](https://raw.githubusercontent.com/opendataloader-project/opendataloader-pdf/main/resources/1901.03003_annotated.pdf)
35
+
36
+ ![Annotated PDF Preview](https://raw.githubusercontent.com/opendataloader-project/opendataloader-pdf/main/resources/example_annotated_pdf.png)
37
+
38
+ <br/>
39
+
40
+ ## πŸš€ Upcoming Features
41
+
42
+ - πŸ–¨οΈ **OCR for scanned PDFs** β€” Extract data from image-only pages
43
+ - 🧠 **Table AI option** β€” Higher accuracy for tables with borderless or merged cells
44
+ - ⚑ **Performance Benchmarks** β€” Transparent evaluations with open datasets and metrics, reported regularly
45
+ - πŸ›‘οΈ **AI Red Teaming** β€” Transparent adversarial benchmarks with datasets and metrics, reported regularly
46
+
47
+ <br/>
48
+
49
+ ## Prerequisites
50
+
51
+ - Java 11 or higher must be installed and available in your system's PATH.
52
+ - Python 3.8+
53
+
54
+ <br/>
55
+
56
+ ## Python
57
+
58
+ ### Installation
59
+
60
+ ```sh
61
+ pip install -U opendataloader-pdf
62
+ ```
63
+
64
+ ### Usage
65
+
66
+ - input_path can be either the path to a single document or the path to a folder.
67
+ - If you don’t specify an output_folder, the output data will be saved in the same directory as the input document.
68
+
69
+ ```python
70
+ import opendataloader_pdf
71
+
72
+ opendataloader_pdf.run(
73
+ input_path="path/to/document.pdf",
74
+ output_folder="path/to/output",
75
+ generate_markdown=True,
76
+ generate_html=True,
77
+ generate_annotated_pdf=True,
78
+ )
79
+ ```
80
+
81
+ ### Function: run()
82
+
83
+ The main function to process PDFs.
84
+
85
+ | Parameter | Type | Required | Default | Description |
86
+ | ----------------------- | ------ | -------- |--------------|-----------------------------------------------------------------------------|
87
+ | `input_path` | `str` | βœ… Yes | β€” | Path to the input PDF file or folder. |
88
+ | `output_folder` | `str` | No | input folder | Path to the output folder. |
89
+ | `password` | `str` | No | `None` | Password for the PDF file. |
90
+ | `replace_invalid_chars` | `str` | No | `None` | Character to replace invalid or unrecognized characters (e.g., οΏ½, \u0000) |
91
+ | `generate_markdown` | `bool` | No | `False` | If `True`, generates a Markdown output file. |
92
+ | `generate_html` | `bool` | No | `False` | If `True`, generates an HTML output file. |
93
+ | `generate_annotated_pdf`| `bool` | No | `False` | If `True`, generates an annotated PDF output file. |
94
+ | `keep_line_breaks` | `bool` | No | `False` | If `True`, keeps line breaks in the output. |
95
+ | `find_hidden_text` | `bool` | No | `False` | If `True`, finds hidden text in the PDF. |
96
+ | `html_in_markdown` | `bool` | No | `False` | If `True`, uses HTML in the Markdown output. |
97
+ | `add_image_to_markdown` | `bool` | No | `False` | If `True`, adds images to the Markdown output. |
98
+ | `debug` | `bool` | No | `False` | If `True`, prints CLI messages to the console during execution. |
99
+
100
+ <br/>
101
+
102
+ ## Java
103
+
104
+ ### Dependency
105
+
106
+ To include OpenDataLoader PDF in your Maven project, add the dependency below to your `pom.xml` file.
107
+
108
+ Check for the latest version on [Maven Central](https://search.maven.org/artifact/io.github.opendataloader-project/opendataloader-pdf-core).
109
+
110
+ ```xml
111
+ <dependency>
112
+ <groupId>io.github.opendataloader-project</groupId>
113
+ <artifactId>opendataloader-pdf-core</artifactId>
114
+ <version>0.0.12</version>
115
+ </dependency>
116
+
117
+ <repositories>
118
+ <repository>
119
+ <snapshots>
120
+ <enabled>true</enabled>
121
+ </snapshots>
122
+ <id>vera-dev</id>
123
+ <name>Vera development</name>
124
+ <url>https://artifactory.openpreservation.org/artifactory/vera-dev</url>
125
+ </repository>
126
+ </repositories>
127
+ <pluginRepositories>
128
+ <pluginRepository>
129
+ <snapshots>
130
+ <enabled>false</enabled>
131
+ </snapshots>
132
+ <id>vera-dev</id>
133
+ <name>Vera development</name>
134
+ <url>https://artifactory.openpreservation.org/artifactory/vera-dev</url>
135
+ </pluginRepository>
136
+ </pluginRepositories>
137
+ ```
138
+
139
+
140
+ ### Java code integration
141
+
142
+ To integrate Layout recognition API into Java code, one can follow the sample code below.
143
+
144
+ ```java
145
+ import com.hancom.opendataloader.pdf.api.Config;
146
+ import com.hancom.opendataloader.pdf.api.OpenDataLoaderPDF;
147
+
148
+ import java.io.IOException;
149
+
150
+ public class Sample {
151
+
152
+ public static void main(String[] args) {
153
+ //create default config
154
+ Config config = new Config();
155
+
156
+ //set output folder relative to the input PDF
157
+ //if the output folder is not set, the current folder of the input PDF is used
158
+ config.setOutputFolder("output");
159
+
160
+ //generating pdf output file
161
+ config.setGeneratePDF(true);
162
+
163
+ //set password of input pdf file
164
+ config.setPassword("password");
165
+
166
+ //generate markdown output file
167
+ config.setGenerateMarkdown(true);
168
+
169
+ //generate html output file
170
+ config.setGenerateHtml(true);
171
+
172
+ //enable html in markdown output file
173
+ config.setUseHTMLInMarkdown(true);
174
+
175
+ //add images to markdown output file
176
+ config.setAddImageToMarkdown(true);
177
+
178
+ //disable json output file
179
+ config.setGenerateJSON(false);
180
+
181
+ //keep line breaks
182
+ config.setKeepLineBreaks(true);
183
+
184
+ //find hidden text
185
+ config.setFindHiddenText(true);
186
+
187
+ //replace invalid chars with specified character
188
+ config.setReplaceInvalidChars("character");
189
+
190
+ try {
191
+ //process pdf file
192
+ OpenDataLoaderPDF.processFile("input.pdf", config);
193
+ } catch (Exception exception) {
194
+ //exception during processing
195
+ }
196
+ }
197
+ }
198
+ ```
199
+
200
+ ### API Documentation
201
+
202
+ The full API documentation is available at [javadoc](https://javadoc.io/doc/io.github.opendataloader-project/opendataloader-pdf-core/latest/)
203
+
204
+ <br/>
205
+
206
+ ## Docker
207
+
208
+ Download sample PDF
209
+
210
+ ```sh
211
+ curl -L -o 1901.03003.pdf https://arxiv.org/pdf/1901.03003
212
+ ```
213
+
214
+ Run opendataloader-pdf in Docker container
215
+
216
+ ```
217
+ docker run --rm -v "$PWD":/work ghcr.io/opendataloader-project/opendataloader-pdf-cli:latest /work/1901.03003.pdf --markdown --html --pdf
218
+ ```
219
+
220
+ <br/>
221
+
222
+ ## Developing with OpenDataLoader PDF
223
+
224
+ ### Build
225
+
226
+ Build and package using Maven command:
227
+
228
+ ```sh
229
+ mvn clean package -f java/pom.xml
230
+ ```
231
+
232
+ If the build is successful, the resulting `jar` file will be created in the path below.
233
+
234
+ ```sh
235
+ java/opendataloader-pdf-cli/target
236
+ ```
237
+
238
+ ### CLI usage
239
+
240
+ ```sh
241
+ java -jar opendataloader-pdf-cli-<VERSION>.jar [options] <INPUT FILE OR FOLDER>
242
+ ```
243
+
244
+ This generates a JSON file with layout recognition results in the specified output folder.
245
+ Additionally, annotated PDF with recognized structures, Markdown and Html are generated if options `--pdf`, `--markdown` and `--html` are specified.
246
+
247
+ By default all line breaks and hyphenation characters are removed, the Markdown does not include any images and does not use any HTML.
248
+
249
+ The option `--keep-line-breaks` to preserve the original line breaks text content in JSON and Markdown output.
250
+
251
+ The option `--markdown-with-html` enables use of HTML in Markdown, which may improve Markdown preview in processors that support HTML tags.
252
+ The option `--markdown-with-images` enables inclusion of image references into the output Markdown.
253
+ The option `--replace-invalid-chars` replaces invalid or unrecognized characters (e.g., οΏ½, \u0000) with the specified character.
254
+ The images are extracted from PDF as individual files and stored in a subfolder next to the Markdown output.
255
+
256
+ #### Available options:
257
+
258
+ ```
259
+ Options:
260
+ -o,--output-dir <arg> Specifies the output directory for generated files
261
+ --keep-line-breaks Preserves original line breaks in the extracted text
262
+ -ht,--findhiddentext Find hidden text
263
+ --markdown-with-html Sets the data extraction output format to Markdown with rendering complex elements like tables as HTML for better structure
264
+ --markdown-with-images Sets the data extraction output format to Markdown with extracting images from the PDF and includes them as links
265
+ --markdown Sets the data extraction output format to Markdown
266
+ --html Sets the data extraction output format to HTML
267
+ -p,--password <arg> Specifies the password for an encrypted PDF
268
+ --pdf Generates a new PDF file where the extracted layout data is visualized as annotations
269
+ --replace-invalid-chars <arg> Replaces invalid or unrecognized characters (e.g., οΏ½, \u0000) with the specified character
270
+ ```
271
+
272
+ ### Schema of the JSON output
273
+
274
+ Root json node
275
+
276
+ | Field | Type | Optional | Description |
277
+ |-------------------|---------|----------|------------------------------------|
278
+ | file name | string | no | Name of processed pdf file |
279
+ | number of pages | integer | no | Number of pages in pdf file |
280
+ | author | string | no | Author of pdf file |
281
+ | title | string | no | Title of pdf file |
282
+ | creation date | string | no | Creation date of pdf file |
283
+ | modification date | string | no | Modification date of pdf file |
284
+ | kids | array | no | Array of detected content elements |
285
+
286
+ Common fields of content json nodes
287
+
288
+ | Field | Type | Optional | Description |
289
+ |--------------|---------|----------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
290
+ | id | integer | yes | Unique id of content element |
291
+ | level | string | yes | Level of content element |
292
+ | type | string | no | Type of content element<br/>Possible types: `footer`, `header`, `heading`, `line`, `table`, `table row`, `table cell`, `paragraph`, `list`, `list item`, `image`, `line art`, `caption`, `text block` |
293
+ | page number | integer | no | Page number of content element |
294
+ | bounding box | array | no | Bounding box of content element |
295
+
296
+ Specific fields of text content json nodes (`caption`, `heading`, `paragraph`)
297
+
298
+ | Field | Type | Optional | Description |
299
+ |------------|--------|----------|-------------------|
300
+ | font | string | no | Font name of text |
301
+ | font size | double | no | Font size of text |
302
+ | text color | array | no | Color of text |
303
+ | content | string | no | Text value |
304
+
305
+ Specific fields of `table` json nodes
306
+
307
+ | Field | Type | Optional | Description |
308
+ |-------------------|---------|----------|--------------------------------|
309
+ | number of rows | integer | no | Number of table rows |
310
+ | number of columns | integer | no | Number of table columns |
311
+ | rows | array | no | Array of table rows |
312
+ | previous table id | integer | yes | Id of previous connected table |
313
+ | next table id | integer | yes | Id of next connected table |
314
+
315
+ Specific fields of `table row` json nodes
316
+
317
+ | Field | Type | Optional | Description |
318
+ |------------|---------|----------|----------------------|
319
+ | row number | integer | no | Number of table row |
320
+ | cells | array | no | Array of table cells |
321
+
322
+ Specific fields of `table cell` json nodes
323
+
324
+ | Field | Type | Optional | Description |
325
+ |---------------|---------|----------|--------------------------------------|
326
+ | row number | integer | no | Row number of table cell |
327
+ | column number | integer | no | Column number of table cell |
328
+ | row span | integer | no | Row span of table cell |
329
+ | column span | integer | no | Column span of table cell |
330
+ | kids | array | no | Array of table cell content elements |
331
+
332
+ Specific fields of `heading` json nodes
333
+
334
+ | Field | Type | Optional | Description |
335
+ |---------------|---------|----------|--------------------------|
336
+ | heading level | integer | no | Heading level of heading |
337
+
338
+ Specific fields of `list` json nodes
339
+
340
+ | Field | Type | Optional | Description |
341
+ |----------------------|---------|----------|-------------------------------------|
342
+ | number of list items | integer | no | Number of list items |
343
+ | numbering style | string | no | Numbering style of this list |
344
+ | previous list id | integer | yes | Id of previous connected list |
345
+ | next list id | integer | yes | Id of next connected list |
346
+ | list items | array | no | Array of list item content elements |
347
+
348
+ Specific fields of `list item` json nodes
349
+
350
+ | Field | Type | Optional | Description |
351
+ |-------|-------|----------|-------------------------------------|
352
+ | kids | array | no | Array of list item content elements |
353
+
354
+ Specific fields of `header` and `footer` json nodes
355
+
356
+ | Field | Type | Optional | Description |
357
+ |-------|-------|----------|-----------------------------------------|
358
+ | kids | array | no | Array of header/footer content elements |
359
+
360
+ Specific fields of `text block` json nodes
361
+
362
+ | Field | Type | Optional | Description |
363
+ |-------|-------|----------|--------------------------------------|
364
+ | kids | array | no | Array of text block content elements |
365
+
366
+
367
+ ## 🀝 Contributing
368
+
369
+ We believe that great software is built together.
370
+
371
+ Your contributions are vital to the success of this project.
372
+
373
+ Please read [CONTRIBUTING.md](https://github.com/hancom-inc/opendataloader-pdf/blob/main/CONTRIBUTING.md) for details on how to contribute.
374
+
375
+ ## πŸ’– Community & Support
376
+ Have questions or need a little help? We're here for you!πŸ€—
377
+
378
+ - [GitHub Discussions](https://github.com/hancom-inc/opendataloader-pdf/discussions): For Q&A and general chats. Let's talk! πŸ—£οΈ
379
+ - [GitHub Issues](https://github.com/hancom-inc/opendataloader-pdf/issues): Found a bug? πŸ› Please report it here so we can fix it.
380
+
381
+ ## ✨ Our Branding and Trademarks
382
+
383
+ We love our brand and want to protect it!
384
+
385
+ This project may contain trademarks, logos, or brand names for our products and services.
386
+
387
+ To ensure everyone is on the same page, please remember these simple rules:
388
+
389
+ - **Authorized Use**: You're welcome to use our logos and trademarks, but you must follow our official brand guidelines.
390
+ - **No Confusion**: When you use our trademarks in a modified version of this project, it should never cause confusion or imply that Hancom officially sponsors or endorses your version.
391
+ - **Third-Party Brands**: Any use of trademarks or logos from other companies must follow that company’s specific policies.
392
+
393
+ ## βš–οΈ License
394
+
395
+ This project is licensed under the [Mozilla Public License 2.0](https://www.mozilla.org/MPL/2.0/).
396
+
397
+ For the full license text, see [LICENSE](LICENSE).
398
+
399
+ For information on third-party libraries and components, see:
400
+ - [THIRD_PARTY_LICENSES](./THIRD_PARTY/THIRD_PARTY_LICENSES.md)
401
+ - [THIRD_PARTY_NOTICES](./THIRD_PARTY/THIRD_PARTY_NOTICES.md)
402
+ - [licenses/](./THIRD_PARTY/licenses/)
@@ -0,0 +1,57 @@
1
+
2
+ # THIRD-PARTY LICENSES
3
+
4
+ This project includes third-party libraries and components, licensed under their respective open source licenses.
5
+ Hancom, Inc. distributes the veraPDF components under the Mozilla Public License 2.0 (MPL-2.0), chosen from dual-licensed options.
6
+
7
+ | Component | Version | License | Download URL |
8
+ |-----------------------------------|-------------------------|----------------------------------------------|-------------------------------------------------------------------------------------------------------|
9
+ | API Guardian | 1.1.0 | Apache-2.0 | https://repo1.maven.org/maven2/org/apiguardian/apiguardian-api/1.1.0/ |
10
+ | Apache Commons Logging | 1.3.4 | Apache-2.0 | https://repo1.maven.org/maven2/commons-logging/commons-logging/1.3.4/ |
11
+ | Apache PDFBox | 3.0.4 | Apache-2.0 | https://repo1.maven.org/maven2/org/apache/pdfbox/pdfbox/3.0.4/ |
12
+ | Apache PDFBox FontBox | 3.0.4 | Apache-2.0 | https://repo1.maven.org/maven2/org/apache/pdfbox/fontbox/3.0.4/ |
13
+ | Apache PDFBox IO | 3.0.4 | Apache-2.0 | https://repo1.maven.org/maven2/org/apache/pdfbox/pdfbox-io/3.0.4/ |
14
+ | Apache PDFBox JBIG2 ImageIO plugin| 3.0.3 | Apache-2.0 | https://repo1.maven.org/maven2/org/apache/pdfbox/jbig2-imageio/3.0.3/ |
15
+ | ASM | 9.5 | BSD-3-Clause | https://repo1.maven.org/maven2/org/ow2/asm/asm/9.5/ |
16
+ | ASM Commons | 9.5 | BSD-3-Clause | https://repo1.maven.org/maven2/org/ow2/asm/asm-commons/9.5/ |
17
+ | ASM Tree | 9.5 | BSD-3-Clause | https://repo1.maven.org/maven2/org/ow2/asm/asm-tree/9.5/ |
18
+ | Classworlds | 1.1-alpha-2 | Plexus Classworlds License | https://repo1.maven.org/maven2/classworlds/classworlds/1.1-alpha-2/ |
19
+ | Commons CLI | 1.4 | Apache-2.0 | https://repo1.maven.org/maven2/commons-cli/commons-cli/1.4/ |
20
+ | Default Plexus Container | 1.0-alpha-9 | Apache-2.0 | https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-container-default/1.0-alpha-9/ |
21
+ | Doxia Sitetools | 1.0 | Apache-2.0 | https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-sink-api/1.0/ |
22
+ | Jackson Annotations | 2.15.0 | Apache-2.0 | https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.15.0/ |
23
+ | Jackson Core | 2.15.0 | Apache-2.0 | https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-core/2.15.0/ |
24
+ | Jackson Databind | 2.15.0 | Apache-2.0 | https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.15.0/ |
25
+ | JaCoCo | 0.8.10 | EPL-2.0 | https://repo1.maven.org/maven2/org/jacoco/jacoco/0.8.10/ |
26
+ | Jakarta Activation API | 1.2.0 | CDDL-1.1 (chosen from dual-licensed options) | https://repo1.maven.org/maven2/javax/activation/javax.activation-api/1.2.0/ |
27
+ | JAI ImageIO Core | 1.4.0 | BSD-3-Clause | https://repo1.maven.org/maven2/com/github/jai-imageio/jai-imageio-core/1.4.0/ |
28
+ | JAI ImageIO JPEG2000 | 1.3.0 | JJ2000 License | https://repo1.maven.org/maven2/com/github/jai-imageio/jai-imageio-jpeg2000/1.3.0/ |
29
+ | JAXB API | 2.4.0-b180830.0359 | CDDL-1.1 | https://repo1.maven.org/maven2/javax/xml/bind/jaxb-api/2.4.0-b180830.0359/ |
30
+ | JAXB Core | 2.3.0.1 | CDDL-1.1 | https://repo1.maven.org/maven2/com/sun/xml/bind/jaxb-core/2.3.0.1/ |
31
+ | JAXB Implementation | 2.3.2 | EDL-1.0 | https://repo1.maven.org/maven2/com/sun/xml/bind/jaxb-impl/2.3.2/ |
32
+ | JUnit Jupiter (Aggregator) | 5.6.2 | EPL-2.0 | https://repo1.maven.org/maven2/org/junit/jupiter/junit-jupiter/5.6.2/ |
33
+ | JUnit Jupiter API | 5.6.2 | EPL-2.0 | https://repo1.maven.org/maven2/org/junit/jupiter/junit-jupiter-api/5.6.2/ |
34
+ | JUnit Jupiter Engine | 5.6.2 | EPL-2.0 | https://repo1.maven.org/maven2/org/junit/jupiter/junit-jupiter-engine/5.6.2/ |
35
+ | JUnit Jupiter Params | 5.6.2 | EPL-2.0 | https://repo1.maven.org/maven2/org/junit/jupiter/junit-jupiter-params/5.6.2/ |
36
+ | JUnit Platform Commons | 1.6.2 | EPL-2.0 | https://repo1.maven.org/maven2/org/junit/platform/junit-platform-commons/1.6.2/ |
37
+ | JUnit Platform Engine | 1.6.2 | EPL-2.0 | https://repo1.maven.org/maven2/org/junit/platform/junit-platform-engine/1.6.2/ |
38
+ | OpenTest4J | 1.2.0 | MIT | https://repo1.maven.org/maven2/org/opentest4j/opentest4j/1.2.0/ |
39
+ | Maven Artifact | 2.0.2 | Apache-2.0 | https://repo1.maven.org/maven2/org/apache/maven/maven-artifact/2.0.2/ |
40
+ | Maven Artifact Manager | 2.0.2 | Apache-2.0 | https://repo1.maven.org/maven2/org/apache/maven/maven-artifact-manager/2.0.2/ |
41
+ | Maven Plugin API | 2.0.6 | Apache-2.0 | https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-api/2.0.6/ |
42
+ | Maven Reporting API | 3.0 | Apache-2.0 | https://repo1.maven.org/maven2/org/apache/maven/maven-reporting-api/3.0/ |
43
+ | Maven Repository Metadata Model | 2.0.2 | Apache-2.0 | https://repo1.maven.org/maven2/org/apache/maven/maven-repository-metadata/2.0.2/ |
44
+ | Maven Shared File Management API | 1.2.1 | Apache-2.0 | https://repo1.maven.org/maven2/org/apache/maven/shared/maven-shared-file-management/1.2.1/ |
45
+ | Maven Shared I/O API | 1.1 | Apache-2.0 | https://repo1.maven.org/maven2/org/apache/maven/shared/maven-shared-io/1.1/ |
46
+ | Maven Wagon API | 1.0-alpha-6 | Apache-2.0 | https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-6/ |
47
+ | Mozilla Rhino | 1.7.13 | MPL-2.0 | https://repo1.maven.org/maven2/org/mozilla/rhino/1.7.13/ |
48
+ | Plexus Utils | 3.0.24 | Apache-2.0 | https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/3.0.24/ |
49
+ | StAX Utils | 20070216 | BSD-3-Clause | https://repo1.maven.org/maven2/net/java/dev/stax-utils/stax-utils/20070216/ |
50
+ | veraPDF Core | 1.29.21 | MPL-2.0 | https://repo1.maven.org/maven2/org/verapdf/core/1.29.21/ |
51
+ | veraPDF Metadata Fixer | 1.29.76 | MPL-2.0 | https://repo1.maven.org/maven2/org/verapdf/metadata-fixer/1.29.76/ |
52
+ | veraPDF Parser | 1.29.36 | MPL-2.0 | https://repo1.maven.org/maven2/org/verapdf/parser/1.29.36/ |
53
+ | veraPDF PDF Model | 1.29.3 | MPL-2.0 | https://repo1.maven.org/maven2/org/verapdf/pdf-model/1.29.3/ |
54
+ | veraPDF Validation Model | 1.29.76 | MPL-2.0 | https://repo1.maven.org/maven2/org/verapdf/validation-model/1.29.76/ |
55
+ | veraPDF XMP Core | 1.29.21 | MPL-2.0 | https://repo1.maven.org/maven2/org/verapdf/verapdf-xmp-core/1.29.21/ |
56
+ | veraPDF WCAG Algorithms | 1.29.11 | MPL-2.0 | https://repo1.maven.org/maven2/org/verapdf/wcag-algorithms/1.29.11/ |
57
+ | veraPDF WCAG Validation | 1.29.76 | MPL-2.0 | https://repo1.maven.org/maven2/org/verapdf/wcag-validation/1.29.76/ |