Spire.PDF for Java

ニュース&リリース

2026-10-30

Spire.PDF for Android via Java 10.8.7 SHA-256/SHA-512 署名と変換進捗コールバックに対応

Spire.PDF for Android via Java 10.8.7 のリリースをお知らせいたします。本バージョンでは、SHA-256 や SHA-512 などのアルゴリズムを使用する証明書による署名に対応しました。 また、進捗コールバックを通じて、PDF から Word、OFD から PDF などへの変換進捗を取得できるようになりました。さらに、OfdConverter の名前空間を調整しました。詳細は以下の通りです。

変更内容一覧
カテゴリー ID 説明
新機能 - SHA-256 や SHA-512 などのアルゴリズムを使用する証明書による署名に対応しました。
PdfDocument doc = new PdfDocument();
        // ディスクからファイルを読み込む
        doc.loadFromFile(inputFile);
        // 署名に使用する X509 証明書を読み込む
        PdfPKCS7Formatter formatter = new PdfPKCS7Formatter(new PdfCertificate(inputFile_pfx, "e-iceblue"), false);

        // 読み込んだドキュメントと証明書を使用して PdfOrdinarySignatureMaker インスタンスを作成する
        PdfOrdinarySignatureMaker signatureMaker = new PdfOrdinarySignatureMaker(doc, formatter);

        // 署名の外観として PdfCustomSignatureAppearance インスタンスを作成する
        IPdfSignatureAppearance signatureAppearance = new PdfCustomSignatureAppearance();

        // 指定した名前とカスタム外観を使用して署名を追加する        signatureMaker.makeSignature("Signature", signatureAppearance);
        for (HashAlgorithmType hashAlg : HashAlgorithmType.values()) { 
            if ("SM3".equalsIgnoreCase(hashAlg.name())) 
			{
                continue;
            }
                // 現在のハッシュアルゴリズムを設定する
formatter.getProperties().setHashAlgorithm(hashAlg);
                String filePath = outputFile + "AddImageSignature_" + hashAlg.name() + ".pdf";
                doc.saveToFile(filePath, FileFormat.PDF);
        }
        doc.close();
    }
    public static class PdfCustomSignatureAppearance implements IPdfSignatureAppearance {
        public void generate(PdfCanvas pdfCanvas) {
            int fontSize = 10;
            PdfTrueTypeFont font = new PdfTrueTypeFont("Arial", 0,10, true);
            float lineHeight = fontSize;
            pdfCanvas.drawString("AAAAAAAAAAA", font, PdfBrushes.getRed(), 0, 0);
            pdfCanvas.drawImage(PdfImage.fromFile(ExStoragePath + "data/E-logo.png"), 20, 0);
        }
    }
新機能 - PDF から Word、OFD から PDF などへの変換時に、進捗コールバックを通じて変換の進捗状況を取得できるようになりました。
// PDF ドキュメントの保存時に進捗通知機能を登録する        PdfDocument pdf = new PdfDocument();
        pdf.loadFromFile(inputFile);
        pdf.registerProgressNotifier(new CustomProgressNotifier(outputFile_T));
        pdf.saveToFile(outputFile, FileFormat.XPS);
        pdf.dispose();

        // PDF から Word への変換時に進捗通知機能を登録する
        PdfToWordConverter converter = new PdfToWordConverter(inputFile);
        converter.registerProgressNotifier(new CustomProgressNotifier(outputFile_T));
        converter.saveToDocx(outputFile);

        // OFD から PDF への変換時に進捗通知機能を登録する
        OfdConverter ofdConverter = new OfdConverter(inputFile);
        ofdConverter.registerProgressNotifier(new CustomProgressNotifier(outputFile_T));
        ofdConverter.toPdf(outputFile);

        // カスタム進捗通知クラス。進捗状況をパーセンテージで受け取る
        public class CustomProgressNotifier implements IProgressNotifier {
            private String outputFile;
            private StringBuilder str = new StringBuilder();

            public CustomProgressNotifier(String outputFile) {
                this.outputFile = outputFile;
            }

            @Override
            public void notify(float progress) {
                str.append("Progress: ").append(progress).append("%\n");
                try {
                    Files.writeString(Paths.get(outputFile), str.toString());
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }
調整 - OfdConverter の名前空間を com.spire.pdf.conversion から com.spire.additions.Ofd に変更しました。
Spire.PDF for Android via Java 10.8.7 のダウンロードはこちらをクリック: