Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
00ba118
docs(faq): remove deprecated Print() API from print-images-from-viewe…
lyzhang0113 Jul 29, 2026
36552c6
docs(faq): fix HTTPUpload() arity in additional-form-fields FAQ
lyzhang0113 Jul 29, 2026
7840435
docs(faq): fix show-page-number FAQ to use updatePageNumberStyle
lyzhang0113 Jul 29, 2026
7ea8e99
docs(faq): fix method name and deprecation claim in support-wia-scann…
lyzhang0113 Jul 29, 2026
105af8f
docs(faq): fix deprecated capability API and missing OpenSource() cal…
lyzhang0113 Jul 29, 2026
eedc7d7
docs(faq): fix wrong field name for TWON_ENUMERATION capability values
lyzhang0113 Jul 29, 2026
0b4535d
docs(faq): fix dead anchor in what-image-editing-operation-supported FAQ
lyzhang0113 Jul 29, 2026
3c56623
docs(faq): fix contradictory version claim in unable-to-load-4-bit-ti…
lyzhang0113 Jul 29, 2026
29ce566
docs(faq): fix missing buttons nesting in customize-ui-elements-of-im…
lyzhang0113 Jul 29, 2026
fdd6394
docs(faq): add missing pdf/a-3b variant to generate-pdf-files FAQ
lyzhang0113 Jul 29, 2026
ebe492c
docs(faq): fix method name case in protect-sensitive-information FAQ
lyzhang0113 Jul 29, 2026
be10e24
docs(faq): rewrite source-connected-to-maximum sample to use async Se…
lyzhang0113 Jul 29, 2026
62671e7
docs(faq): add missing AutoLoad/Containers precondition to type-error…
lyzhang0113 Jul 29, 2026
7ec6e59
docs(faq): fix dead anchor and rephrase error-message-product-key-exp…
lyzhang0113 Jul 29, 2026
e9d9039
docs(faq): fix dead anchor in image-viewer-object-defined FAQ
lyzhang0113 Jul 29, 2026
a65579c
docs(faq): fix dead anchor and refresh http-servers-support FAQ
lyzhang0113 Jul 29, 2026
fb72028
docs(faq): fix empty call-to-action links in flexible-to-custom-licen…
lyzhang0113 Jul 29, 2026
82f4033
docs(faq): fix dead anchor in service-is-blocked FAQ
lyzhang0113 Jul 29, 2026
c02becb
docs(faq): fix dead anchor in service-prompting-to-install-repeatedly…
lyzhang0113 Jul 29, 2026
2bfd191
docs(faq): fix dead anchor in resources-to-be-included-in-SDK FAQ
lyzhang0113 Jul 29, 2026
67f45c7
docs(faq): fix unclosed <a> tag and dead anchor in securely-transfer-…
lyzhang0113 Jul 29, 2026
df80a9e
Apply suggestions from code review
lyzhang0113 Jul 29, 2026
578e83a
Delete _articles/faq/additional-form-fields.md
lyzhang0113 Jul 29, 2026
570848d
Update index.md
lyzhang0113 Jul 29, 2026
b111271
Potential fix for pull request finding
lyzhang0113 Jul 29, 2026
e184d69
Apply suggestion from @lyzhang0113
ztyyLV Jul 29, 2026
b169f6c
Apply suggestion from @lyzhang0113
ztyyLV Jul 30, 2026
9ce2f61
Refactor UI element titles and dialog texts
ztyyLV Jul 30, 2026
e41439e
docs(faq): correct PDF/A underlying version claims in generate-pdf-fi…
lyzhang0113 Jul 30, 2026
3bbb34d
docs(faq): remove PDF/A-1b vs PDF/A-2b comparison from generate-pdf-f…
lyzhang0113 Jul 30, 2026
fb041a2
Update how-to-test-if-your-device-is-SANE-compliant.md
lyzhang0113 Jul 30, 2026
2beba88
docs(faq): replace deprecated blank-page detection APIs in use-blank-…
lyzhang0113 Jul 30, 2026
8270fd5
docs(faq): remove outdated scanner-not-shown-or-not-responding-in-the…
lyzhang0113 Jul 30, 2026
af7efc6
docs(faq): remove HTTPDownloadDirectly() reference from load-pdf-file…
lyzhang0113 Jul 30, 2026
f5fc243
docs(faq): fix undefined WebTWAIN object in the-connection-with-the-s…
lyzhang0113 Jul 30, 2026
2590adf
docs(faq): remove safari-26-2-regression FAQ
lyzhang0113 Jul 30, 2026
cb807b0
docs(faq): rewrite viewer-size-auto-resize FAQ with correct resize ap…
lyzhang0113 Jul 30, 2026
eba4ee3
docs(faq): replace deprecated GetDeviceType() in hide-webcam-from-sou…
lyzhang0113 Jul 30, 2026
f3de8c1
docs(faq): fix dead links in component-needs-to-be-installed-on-end-u…
lyzhang0113 Jul 30, 2026
a42ad0b
docs(faq): remove nonexistent HTTPRequestswithCredentials note from X…
lyzhang0113 Jul 30, 2026
5ea5e28
docs(faq): fix HTTPUpload() arity and field type in upload-multiple-f…
lyzhang0113 Jul 30, 2026
ba08f4c
docs(faq): fix wrong ThumbnailViewerSettings property names in create…
lyzhang0113 Jul 30, 2026
7cba4fa
docs(faq): rename detect-paper-on-flatbed to detect-paper-on-feeder, …
lyzhang0113 Jul 30, 2026
563171b
Revert "docs(faq): fix HTTPUpload() arity and field type in upload-mu…
lyzhang0113 Jul 30, 2026
dbb154d
docs(faq): rephrase upload-multiple-files-at-a-time FAQ for clarity
lyzhang0113 Jul 30, 2026
581ae28
docs(faq): cast image count to string in upload-multiple-files-at-a-t…
lyzhang0113 Jul 30, 2026
339dd25
Merge pull request #1067 from dynamsoft-docs/fix/faq-audit-batch
tony-xlh Jul 31, 2026
4bed869
note pdf/a-3b is supported from 19.4
tony-xlh Jul 31, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 1 addition & 7 deletions _articles/faq/XMLHttpRequest-cannot-load.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ keywords: Dynamic Web TWAIN, Error Troubleshooting, XMLHttpRequest
breadcrumbText: XMLHttpRequest cannot load XXX
description: XMLHttpRequest cannot load XXX
date: 2021-12-03 23:26:46 +0000
last_modified: 2026-01-23 06:35:12 -08:00
last_modified: 2026-07-30 09:33:44 +0000
---

# Error Troubleshooting
Expand Down Expand Up @@ -48,9 +48,3 @@ Try uploading to the same domain or update the server-side configuration to allo
> After updating the server configuration file, you'll need to restart the server (i.e. IIS).
>
> If you are downloading a file, you might need to clear the browser cache because a cached file will not be requested again from the server, thus still no 'Access-Control-Allow-Origin' header will be presented.
>
> If you need to send cookies/credentials (e.g., Windows Authentication), enable credentials via code:
>
> ```javascript
> DWTObject.HTTPRequestswithCredentials = true; // adds withCredentials:true on upload requests
> ```
78 changes: 0 additions & 78 deletions _articles/faq/additional-form-fields.md

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,16 @@ keywords: Dynamic Web TWAIN, Project Deployment and End-user Installation, insta
breadcrumbText: Is there any component of the Dynamic Web TWAIN SDK that needs to be installed on end-user machines?
description: Is there any component of the Dynamic Web TWAIN SDK that needs to be installed on end-user machines?
date: 2021-12-11 06:47:21 +0000
last_modified: 2026-01-21 15:24:26 -08:00
last_modified: 2026-07-30 09:31:25 +0000
---

View all FAQs about [Project Deployment and End-user Installation](
https://www.dynamsoft.com/web-twain/docs/faq/#project-deployment-and-end-user-installation)

# Is there any component of the Dynamic Web TWAIN SDK that needs to be installed on end-user machines?

For the [Desktop Service Edition](/_articles/general-usage/initialization.md#desktop-service-edition){:target="_blank"}, end users need the Dynamic Web TWAIN Service installed locally (this was called Dynamsoft Service prior to v19.0). They are prompted to install it the first time they open your application.
End users need the Dynamic Web TWAIN Service installed locally (this was called "Dynamsoft Service" prior to v19.0). They are prompted to install it the first time they open your application.

When you upgrade Dynamic Web TWAIN, plan to reinstall the service on client machines if required. See [Update Dynamic Web TWAIN Service on the Client-side](/_articles/indepth/development/upgrade.md#update-dynamsoft-service-on-the-client-side){:target="_blank"} for details.
When you upgrade Dynamic Web TWAIN, plan to reinstall the service on client machines if required. See [Dynamic Web TWAIN Service Configuration](/_articles/extended-usage/dynamsoft-service-configuration.md){:target="_blank"} for details.

If you prefer zero client-side installation, enable Remote Scan. It routes scanning through a host machines service, so the browser client installs nothing. Learn how to enable it [here](/_articles/faq/how-to-enable-remote-scan.md){:target="_blank"}.
If you prefer zero client-side installation, enable Remote Scan. It routes scanning through a host machine's service, so the browser client installs nothing. See the [Remote Scan documentation](https://www.dynamsoft.com/remote-scan/docs/introduction/){:target="_blank"} for details on how to enable it.
6 changes: 3 additions & 3 deletions _articles/faq/create-thumbnail-viewer-to-navigate-images.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ keywords: Dynamic Web TWAIN, Image Viewer, navigate images, thumbnail viewer
breadcrumbText: How can I create a thumbnail viewer to view images?
description: How can I create a thumbnail viewer to view images?
date: 2021-12-09 11:34:50 +0000
last_modified: 2024-09-19 08:47:35 +0000
last_modified: 2026-07-30 09:44:34 +0000
---

# Image Viewer
Expand Down Expand Up @@ -35,10 +35,9 @@ var thumbnailViewerSettings = {
allowKeyboardControl: true,
allowPageDragging: true,
allowResizing: false,
showPageNumber: false,
pageBackground: "transparent",
pageBorder: "1px solid rgb(238, 238, 238)",
hoverBackground: "rgb(239, 246, 253)",
hoverPageBackground: "rgb(239, 246, 253)",
hoverPageBorder: "1px solid rgb(238, 238, 238)",
placeholderBackground: "rgb(251, 236, 136)",
selectedPageBorder: "1px solid rgb(125,162,206)",
Expand All @@ -47,4 +46,5 @@ var thumbnailViewerSettings = {

var thumbnail = DWTObject.Viewer.createThumbnailViewer(thumbnailViewerSettings);
thumbnail.show();
thumbnail.updatePageNumberStyle({ visibility: "hidden" }); // Hide the page number on each thumbnail
```
41 changes: 22 additions & 19 deletions _articles/faq/customize-ui-elements-of-image-editor.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ keywords: Dynamic Web TWAIN, UI Customization, customize, ui elements
breadcrumbText: Can I customize UI elements of the built-in image editor?
description: Can I customize UI elements of the built-in image editor?
date: 2021-12-08 03:32:59 +0000
last_modified: 2024-09-19 08:47:35 +0000
last_modified: 2026-07-29 08:01:45 +0000
---

# UI Customization
Expand All @@ -18,37 +18,40 @@ Yes, you can perform various customizations on the image editor. Some of such cu

### Can I change the language of the Editor?

Yes, as shown in the sample code below, you can use the parameters `titles` and `dialogText` to specify the language used in the editor.
Yes, as shown in the sample code below, you can use the parameters `buttons.titles` and `dialogText` to specify the language used in the editor.

```javascript
titles: {
'previous': 'Previous Image',
'next': 'Next Image',
'print': 'Print Image',
'scan': 'Scan Documents',
'load': 'Load Local Images'
buttons: {
titles: {
'next': 'Next Image',
'print': 'Print Image',
'scan': 'Scan Documents',
'load': 'Load Local Images'
}
}
```

```javascript
dialogText: {
dlgRotateAnyAngle: ['Angle :', 'Interpolation:', 'Keep size', ' OK ', 'Cancel'],
dlgChangeImageSize: ['New Height :', 'New Width :', 'Interpolation method:', ' OK ', 'Cancel'],
saveChangedImage: ['You have changed the image, do you want to keep the change(s)?', ' Yes ', ' No '],
selectSource: ['Select Source:', 'Select', 'Cancel', 'There is no source available']
}
dlgRotateAnyAngle: ['Angle :', 'Interpolation:', 'Keep size', ' OK ', 'Cancel'],
dlgChangeImageSize: ['New Height :', 'New Width :', 'Interpolation method:', ' OK ', 'Cancel'],
saveChangedImage: ['You have changed the image, do you want to keep the change(s)?', ' Yes ', ' No '],
selectSource: ['Select Source:', 'Select', 'Cancel', 'There is no source available']
}
```

### Can I remove or add buttons on the toolbar of the Editor?

While you can use `visibility` (as shown in the sample code below) to remove a default button(s), currently you cannot add a custom button.
While you can use `buttons.visibility` (as shown in the sample code below) to remove a default button(s), currently you cannot add a custom button.

```javascript
visibility: {
'scan': true,
'load': true,
'print': false,
'removeall': true
buttons: {
visibility: {
'scan': true,
'load': true,
'print': false,
'removeall': true
}
}
```

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,17 @@
layout: default-layout
noTitleIndex: true
needAutoGenerateSidebar: true
title: Can the Dynamic Web TWAIN SDK detect whether papers exist on the flatbed?
keywords: Dynamic Web TWAIN, Capture/ Image Source, detect paper, flatbed
breadcrumbText: Can the Dynamic Web TWAIN SDK detect whether papers exist on the flatbed?
description: Can the Dynamic Web TWAIN SDK detect whether papers exist on the flatbed?
title: Can the Dynamic Web TWAIN SDK detect whether papers exist in the feeder?
keywords: Dynamic Web TWAIN, Capture/ Image Source, detect paper, feeder, ADF
breadcrumbText: Can the Dynamic Web TWAIN SDK detect whether papers exist in the feeder?
description: Can the Dynamic Web TWAIN SDK detect whether papers exist in the feeder?
date: 2021-12-08 03:01:32 +0000
last_modified: 2024-09-19 08:47:35 +0000
last_modified: 2026-07-30 10:01:04 +0000
---

# Capture/Image Source

## Can the Dynamic Web TWAIN SDK detect whether papers exist on the flatbed?
## Can the Dynamic Web TWAIN SDK detect whether papers exist in the feeder?

Yes. You can use [IfFeederLoaded](/_articles/info/api/WebTwain_Acquire.md#iffeederloaded){:target="_blank"} API to inspect whether papers are loaded in the feeder of your current scanner. Before calling this API, please use [IfPaperDetectable](/_articles/info/api/WebTwain_Acquire.md#ifpaperdetectable){:target="_blank"} to inspect whether your current scanner hardware has a sensor to detect papers.

Expand All @@ -21,6 +21,7 @@ Code Example:
```javascript
DWTObject.SelectSource();
DWTObject.OpenSource();
DWTObject.IfFeederEnabled = true;
if(DWTObject.IfPaperDetectable)
if(DWTObject.IfFeederLoaded)
DWTObject.AcquireImage();
Expand Down
4 changes: 2 additions & 2 deletions _articles/faq/error-message-product-key-expired.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ keywords: Dynamic Web TWAIN, Error Troubleshooting, product key, expired
breadcrumbText: Error message – Your Dynamic Web TWAIN product key expired
description: Error message – Your Dynamic Web TWAIN product key expired
date: 2021-12-03 23:26:46 +0000
last_modified: 2022-06-10 04:40:03 +0000
last_modified: 2026-07-29 08:01:45 +0000
---

# Error Troubleshooting
Expand All @@ -27,5 +27,5 @@ The trial product key has expired.
### Resolution

Follow the instructions on that pop-up which are:
1. Request a new trial product key <a href="https://www.dynamsoft.com/customer/license/trialLicense" target="_blank">here</a>. Refer to [this article](/_articles/indepth/development/upgrade.md#update-the-license-key){:target="_blank"} to update the ProductKey
1. Request a new trial product key <a href="https://www.dynamsoft.com/customer/license/trialLicense" target="_blank">here</a>. Refer to [Using License Keys](/_articles/general-usage/license.md){:target="_blank"} for how to configure the new ProductKey in your project
2. Do a hard refresh or clear cache in your browser to make sure the new ProductKey is used
4 changes: 2 additions & 2 deletions _articles/faq/flexible-to-custom-license.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ keywords: Dynamic Web TWAIN, Licensing and Purchase, flexible, custom licensing
breadcrumbText: Are you flexible to discuss custom licensing models?
description: Are you flexible to discuss custom licensing models?
date: 2021-12-04 02:34:30 +0000
last_modified: 2024-07-15 18:12:55 +0000
last_modified: 2026-07-29 08:01:45 +0000
---

# Licensing and Purchase

## Are you flexible to discuss custom licensing models?

Yes. We understand our standard options may not cover your need, so we are very flexible with different licensing metrics to best serve your business. Please submit your request via <a href="" target="_blank">this form</a> or directly <a href="" target="_blank">contact us</a>.
Yes. We understand our standard options may not cover your need, so we are very flexible with different licensing metrics to best serve your business. Please submit your request via <a href="https://www.dynamsoft.com/store/dynamic-web-twain/#request-for-a-quote" target="_blank">this form</a> or directly <a href="https://www.dynamsoft.com/company/contact/" target="_blank">contact us</a>.
35 changes: 11 additions & 24 deletions _articles/faq/generate-pdf-files.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ keywords: Dynamic Web TWAIN, Addon, separate, license
breadcrumbText: How can I generate PDF/A files?
description: How can I generate PDF/A files?
date: 2021-12-01 01:09:41 +0000
last_modified: 2025-12-10 16:43:15 +0000
last_modified: 2026-07-30 07:04:41 +0000
---

# Addon
Expand All @@ -19,24 +19,11 @@ PDF/A is an archival format designed for long-term preservation. The following v

### Supported PDF/A Versions

| PDF/A Variant | Underlying PDF Version |
|:-------------:|-----------------------------|
| `pdf/a-1b` | **1.4** (default) |
| `pdf/a-2b` | **1.5** (default), 1.6, 1.7 |

### What’s the difference between PDF/A-1b and PDF/A-2b?
Although both variants ensure that documents can be reliably displayed in the future, they differ in terms of supported PDF features and compression options.
- PDF/A-1b
- Uses the older PDF 1.4 specification.
- **Does not support JPEG2000** or JBIG2 image compression.
- Does not allow transparency.
- May result in larger file sizes and more conversion restrictions.

- PDF/A-2b
- Based on newer PDF versions (1.5–1.7).
- Supports **JPEG2000**, JBIG2, transparency, and other modern PDF features.
- Typically requires **fewer changes** to the source document.
- Usually produces **smaller output** files.
| PDF/A Variant | Underlying PDF Version | Availability |
|:-------------:|-----------------------------|--------------|
| `pdf/a-1b` | **1.4** (fixed) | v19.3+ |
| `pdf/a-2b` | **1.7** (fixed) | v19.3+ |
| `pdf/a-3b` | **1.7** (fixed) | v19.4+ |

**Recommendation:**
For most use cases, we recommend using **`pdf/a-2b`**.
Expand All @@ -55,18 +42,18 @@ DWTObject.Addon.PDF.IsRasterizationRequired(path); // returns true or false

- If you do not set `pdfaVersion`, the export uses standard PDF format (non-PDF/A).

- 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:
- `pdf/a-1b` → defaults to PDF `1.4`
- `pdf/a-2b` → defaults to PDF `1.5`
- The `version` setting only applies when exporting standard (non-PDF/A) PDFs. Once `pdfaVersion` is set, `version` is ignored — the underlying PDF version is fixed entirely by the PDF/A variant:
- `pdf/a-1b` → PDF `1.4`
- `pdf/a-2b` / `pdf/a-3b` → PDF `1.7`

### How to Export as PDF/A

Configure PDF output using [`Write.Setup()`](/_articles/info/api/Addon_PDF.md#writesetup) before calling any save function.

```javascript
DWTObject.Addon.PDF.Write.Setup({
version: "1.5", // [optional] 1.4 for "pdf/a-1b"; 1.5/1.6/1.7 for "pdf/a-2b"
pdfaVersion: "pdf/a-2b" // "pdf/a-1b" or "pdf/a-2b"
version: "1.5", // [optional] Only used for standard (non-PDF/A) PDFs; ignored once pdfaVersion is set
pdfaVersion: "pdf/a-2b" // "pdf/a-1b", "pdf/a-2b" (since v19.3), or "pdf/a-3b" (since v19.4)
});
```

Expand Down
8 changes: 4 additions & 4 deletions _articles/faq/hide-webcam-from-source-list.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,15 @@ keywords: Dynamic Web TWAIN, Capture/ Image Source, hide, webcam
breadcrumbText: Can I hide webcam devices from the select source list?
description: Can I hide webcam devices from the select source list?
date: 2021-12-08 03:01:32 +0000
last_modified: 2022-06-10 04:40:03 +0000
last_modified: 2026-07-30 09:25:56 +0000
---

# Capture/Image Source

## Can I hide webcam devices from the select source list?

Many webcam devices may use WIA drivers. As explained in this article, WIA drivers can also be detected by the Dynamic Web TWAIN SDK. If you need to exclude webcam/camera devices, you can try using [GetDeviceType](/_articles/info/api/WebTwain_Acquire.md#getdevicetype){:target="_blank"} API to verify if a source is a scanner or not. If not, you can skip it from your source list.
Many webcam devices may use WIA drivers. As explained in this article, WIA drivers can also be detected by the Dynamic Web TWAIN SDK. For devices accessed via TWAIN, you can check whether the source supports the `CAP_CAMERAPREVIEWUI` capability using [getCapabilities](/_articles/info/api/WebTwain_Acquire.md#getcapabilities){:target="_blank"} — sources that support it are typically cameras, so you can skip them from your source list.

Please note that you would need to call [OpenSource](/_articles/info/api/WebTwain_Acquire.md#opensource){:target="_blank"} API to open a source before you can inspect its device type. If there are any offline devices in the source name list, this process would be interrupted.
Please note that you would need to call [OpenSource](/_articles/info/api/WebTwain_Acquire.md#opensource){:target="_blank"} API to open a source before you can query its capabilities. If there are any offline devices in the source name list, this process would be interrupted.

Another workaround is to exclude some sources by detecting certain keywords from the source name list. E.g. you can try to exclude any source names with 'camera' or 'webcam'. Please refer to this [FAQ](/_articles/faq/hide-offline-scanners-from-source-list.md){:target="_blank"} for more details.
A simpler workaround that doesn't require opening each source is to exclude sources by detecting certain keywords in the source name list — e.g. excluding any source names containing 'camera' or 'webcam'. Please refer to this [FAQ](/_articles/faq/hide-offline-scanners-from-source-list.md){:target="_blank"} for more details.
Loading