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 のダウンロードはこちらをクリック:






