QR 碼(快速響應碼)是二維條碼或矩陣條碼的一種。它是包含有關附加項目信息的機器可讀標籤。本文將指導您以編程方式在 Java 中生成 QR 代碼以對文檔和圖像進行電子簽名。
以下是所涵蓋主題的快速鏈接:
QR 碼生成器 - Java API
在本文中,我使用 GroupDocs.Signature for Java API 生成 QR 碼並將它們附加到 PDF 文件、Word 文檔、電子表格、演示文稿和圖像中。此 API 支持各種文件格式的不同類型的電子簽名。在二維碼類型中,API 支持以下類型:
- 阿茲特克法典
- 二維碼
- GS1 數據矩陣
- GS1二維碼
- 二維碼
下載和配置
您可以從 downloads 部分獲取 JAR 文件,或者在繼續查看示例之前在基於 Maven 的 Java 應用程序中添加以下 pom.xml 配置。有關詳細信息,您可以訪問API 參考。
<repository>
<id>GroupDocsJavaAPI</id>
<name>GroupDocs Java API</name>
<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-signature</artifactId>
<version>21.2</version>
</dependency>
用Java生成二維碼——添加到PDF、Word、Excel、PPT
Signature 和 QrCodeSignOptions 類可以在 Java 中快速創建和添加不同類型的 QR 碼到文檔和圖像。
- 使用源文檔創建 Signature 類對象。
- 使用 QrCodeSignOptions 類設置 QR 碼屬性。
- 最重要的是,從二維碼類型中選擇合適的。
- 使用 Signature 對象調用 sign 方法,傳遞生成的文檔路徑和 QR 碼選項。
以下 Java 代碼將生成二維碼並將其附加到提供的 PDF 文檔中。
// 使用 GroupDocs.Signature for Java API 對 PDF、Excel、PPT、Word 文檔和帶有二維碼的圖像進行電子簽名
Signature signature = new Signature("filePath/document.pdf"); // Provide any DOC, PDF, XLS, PPT, PNG, JPG, WebP file.
// 使用預定義文本創建 QR 碼選項
QrCodeSignOptions options = new QrCodeSignOptions("Signed by GroupDocs");
options.setEncodeType(QrCodeTypes.QR);
options.setAllPages(true);
// 設置二維碼位置和外觀
options.setLeft(50);
options.setTop(50);
options.setHeight(90);
options.setWidth(90);
// 簽署文件並保存文件
signature.sign("filePath/document-with-qr-code.pdf", options);
此處顯示的是生成的 PDF 文件,其中包含使用上述代碼添加的 QR 碼。同樣,您可以提供任何 word 文檔、電子表格、演示文稿或任何其他 支持的文檔格式 來附加二維碼。
在 Java 中生成二維碼 - 添加到 JPG、PNG 或 WebP 圖像
現在,您可能會想,將 QR 碼添加到圖像中會有不同的策略。答案是不。您可以使用上面相同的代碼生成 QR 碼並將其添加到圖像中。該 API 允許您將二維碼添加到 JPG/JPEG、PNG、WebP、BMP、GIF、SVG、CMX 和 TIFF 圖像。
您還可以更改 QR 碼的外觀,例如背景顏色、前景色、透明度等。在這裡,我將黑色背景色和前景色設置為白色。
// 在Java中改變QR碼的外觀
// 設置背景色、前景色、透明度等。
Background background = new Background();
background.setColor(Color.BLACK);
background.setTransparency(0.5);
options.setBackground(background);
options.setForeColor(Color.WHITE);
結論
現在,您應該有足夠的信心在 Java 應用程序中生成 QR 代碼,以使用 GroupDocs.Signature 對文檔和圖像進行電子簽名。要消除 文檔 中的任何歧義或任何未解決的場景,請隨時聯繫 論壇 上的支持團隊。 GitHub 上還提供了許多其他示例。