Skip to content

Commit 07143a0

Browse files
authored
Merge pull request #957 from dynamsoft-docs/louie
Update FAQ files related to the PDF/A feature in 19.3
2 parents aac5462 + 6863a59 commit 07143a0

File tree

2 files changed

+93
-9
lines changed

2 files changed

+93
-9
lines changed

_articles/faq/generate-pdf-files.md

Lines changed: 66 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,75 @@ keywords: Dynamic Web TWAIN, Addon, separate, license
77
breadcrumbText: How can I generate PDF/A files?
88
description: How can I generate PDF/A files?
99
date: 2021-12-01 01:09:41 +0800
10-
last_modified: 2022-07-08 02:17:16 +0800
10+
last_modified: 2025-12-10 16:43:15 +0800
1111
---
1212

1313
# Addon
1414

1515
## How can I generate PDF/A files?
1616

17-
Dynamic Web TWAIN does not support the generation of PDF/A files.
17+
Dynamic Web TWAIN supports exporting documents as **PDF/A** starting from version **19.3**.
18+
PDF/A is an archival format designed for long-term preservation. The following variants are supported:
19+
20+
### Supported PDF/A Versions
21+
22+
| PDF/A Variant | Underlying PDF Version |
23+
|:-------------:|-----------------------------|
24+
| `pdf/a-1b` | **1.4** (default) |
25+
| `pdf/a-2b` | **1.5** (default), 1.6, 1.7 |
26+
27+
### What’s the difference between PDF/A-1b and PDF/A-2b?
28+
Although both variants ensure that documents can be reliably displayed in the future, they differ in terms of supported PDF features and compression options.
29+
- PDF/A-1b
30+
- Uses the older PDF 1.4 specification.
31+
- **Does not support JPEG2000** or JBIG2 image compression.
32+
- Does not allow transparency.
33+
- May result in larger file sizes and more conversion restrictions.
34+
35+
- PDF/A-2b
36+
- Based on newer PDF versions (1.5–1.7).
37+
- Supports **JPEG2000**, JBIG2, transparency, and other modern PDF features.
38+
- Typically requires **fewer changes** to the source document.
39+
- Usually produces **smaller output** files.
40+
41+
**Recommendation:**
42+
For most use cases, we recommend using **`pdf/a-2b`**.
43+
It offers better compression support, fewer limitations, and higher compatibility with modern PDFs while still meeting archival requirements.
44+
45+
### Licensing Requirements
46+
Dynamic Web TWAIN does not require any add-on license to **export** or generate PDF or PDF/A files. However, PDF Rasterizer add-on would be required when **loading** a PDF/PDF-A file that contains **text or vector graphics**.
47+
48+
You can programmatically check whether a file needs rasterization using [`IsRasterizationRequired()`](/_articles/info/api/Addon_PDF.md#israsterizationrequired):
49+
50+
```javascript
51+
DWTObject.Addon.PDF.IsRasterizationRequired(path); // returns true or false
52+
```
53+
54+
### Behavior and Defaults
55+
56+
- If you do not set `pdfaVersion`, the export uses standard PDF format (non-PDF/A).
57+
58+
- If you set `pdfaVersion` but forget to set `version`, or set a mismatched or incorrect PDF version, Dynamic Web TWAIN automatically falls back to a default PDF version:
59+
- `pdf/a-1b` → defaults to PDF `1.4`
60+
- `pdf/a-2b` → defaults to PDF `1.5`
61+
62+
### How to Export as PDF/A
63+
64+
Configure PDF output using [`Write.Setup()`](/_articles/info/api/Addon_PDF.md#writesetup) before calling any save function.
65+
66+
```javascript
67+
DWTObject.Addon.PDF.Write.Setup({
68+
version: "1.5", // [optional] 1.4 for "pdf/a-1b"; 1.5/1.6/1.7 for "pdf/a-2b"
69+
pdfaVersion: "pdf/a-2b" // "pdf/a-1b" or "pdf/a-2b"
70+
});
71+
```
72+
73+
After configuring `pdfaVersion`, all APIs that output PDF files will automatically generate PDF/A-compliant PDFs. This includes, but is not limited to:
74+
75+
- **Save APIs** like: [`SaveAsPDF()`](/_articles/info/api/WebTwain_IO.md#saveaspdf), [`SaveSelectedImagesAsMultiPagePDF()`](/_articles/info/api/WebTwain_IO.md#saveselectedimagesasmultipagepdf), [`SaveAllAsPDF()`](/_articles/info/api/WebTwain_IO.md#saveallaspdf)
76+
77+
- **Conversion APIs** like: [`ConvertToBlob()`](/_articles/info/api/WebTwain_IO.md#converttoblob), [`ConvertToBase64()`](/_articles/info/api/WebTwain_IO.md#converttobase64)
78+
79+
- **Upload APIs** like: [`HTTPUpload()`](/_articles/info/api/WebTwain_IO.md#httpupload), [`FTPUpload()`](/_articles/info/api/WebTwain_IO.md#ftpupload), [`httpUploadBlob()`](/_articles/info/api/WebTwain_IO.md#httpuploadblob)
80+
81+
- **OCR Output APIs** like: [`SaveToPath()`](/_articles/info/api/Addon_OCR.md#savetopath), [`SaveAsBase64()`](/_articles/info/api/Addon_OCR.md#saveasbase64), [`SaveAsBlob()`](/_articles/info/api/Addon_OCR.md#saveasblob)

_articles/faq/load-pdf-files.md

Lines changed: 27 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,38 @@ keywords: Dynamic Web TWAIN, Addon, load pdf/a
77
breadcrumbText: How can I load PDF/A files into the Dynamic Web TWAIN SDK?
88
description: How can I load PDF/A files into the Dynamic Web TWAIN SDK?
99
date: 2021-12-01 01:09:41 +0800
10-
last_modified: 2022-10-21 14:05:54 +0800
10+
last_modified: 2025-12-10 15:53:54 +0800
1111
---
1212

1313
# Addon
1414

1515
## How can I load PDF/A files into the Dynamic Web TWAIN SDK?
1616

17-
You can use the PDF Rasterizer add-on which supports reading PDF/A images.
17+
Dynamic Web TWAIN can load PDF/A files, but whether the PDF Rasterizer add-on is required depends on the content of the PDF/A file:
1818

19-
If the PDF Rasterizer add-on is used, the file will automatically be rasterized when it's loaded to the viewer.
19+
- If the PDF/A contains text or vector graphics, it must be rasterized, and therefore requires the PDF Rasterizer add-on.
20+
- If the PDF/A contains only raster images, it can be loaded without the PDF Rasterizer.
2021

21-
### When is PDF Rasterizer effective?
22+
You can programmatically check whether a file needs rasterization using [`IsRasterizationRequired()`](/_articles/info/api/Addon_PDF.html#israsterizationrequired):
2223

23-
Once `PDFR` has been configured, it will automatically detect if a file needs to be rasterized and if so, it will convert it to an image(s) with the set resolution(if no resolution is set, the default is 200). This happens when you call any of the following methods
24+
```javascript
25+
DWTObject.Addon.PDF.IsRasterizationRequired(path); // returns true or false
26+
```
2427

25-
> `PDFR` also works when you drag and drop the file onto the viewer to load it
28+
When enabled, the add-on automatically rasterizes PDF/A documents into images when they are loaded into the viewer.
29+
30+
> [!NOTE]
31+
> **Looking for information about generating PDF/A files?**
32+
> Starting from Dynamic Web TWAIN 19.3, PDF/A creation is supported.
33+
> See: [How can I generate PDF/A files?](/_articles/faq/generate-pdf-files.md)
34+
35+
36+
### When is PDF Rasterizer used?
37+
38+
Once the PDF Rasterizer (`PDFR`) is configured, it automatically rasterizes the file *only when needed*.
39+
If rasterization is required, the PDF is converted into one or more images at the specified resolution (default **200 DPI**).
40+
41+
Rasterization may occur when using any of the following APIs (including drag-and-drop):
2642

2743
- [ `LoadImage()` ](/_articles/info/api/WebTwain_IO.md#loadimage)
2844
- [ `LoadImageEx()` ](/_articles/info/api/WebTwain_IO.md#loadimageex)
@@ -35,4 +51,8 @@ Once `PDFR` has been configured, it will automatically detect if a file needs to
3551
- [ `HTTPDownloadThroughPost()` ](/_articles/info/api/WebTwain_IO.md#httpdownloadthroughpost)
3652
- [ `HTTPDownloadDirectly()` ](/_articles/info/api/WebTwain_IO.md#httpdownloaddirectly)
3753

38-
Dynamic Web TWAIN does not support the generation of PDF/A files.
54+
### Important Change in v19.3
55+
Previous versions of Dynamic Web TWAIN did **not** support exporting PDF/A files.
56+
As of **19.3**, you can now:
57+
- Load PDF/A files (with or without the PDF Rasterizer, depending on content), and
58+
- Generate PDF/A files.

0 commit comments

Comments
 (0)