Spire.Office for Java 10.10.0 が正式にリリースされました。本バージョンでは、Spire.Doc for Java がスタイル変更のリビジョン情報の取得をサポートし、Spire.PDF for Java が PdfTable の列幅設定に対応し、Spire.Presentation for Java では Markdown 形式から PPTX ファイルへの変換機能が追加されました。また、Word、Excel、PDF、PPT 各文書の変換・操作時に発生していた一部の不具合についても順次修正を行いました。新機能の詳細と不具合修正内容については、以下をご確認ください。
Spire.Office for Java 10.10.0 を入手する場合は、以下のリンクをクリックしてください:
このリリースで行われた変更のリストは次のとおりです
Spire.Doc for Java
| カテゴリー | ID | 説明 |
| 新機能 | SPIREDOC-9691 SPIREDOC-8447 | Added support for accepting or rejecting partial revisions.
Document document = new Document();
document.loadFromFile(inputFile);
RevisionInfoCollection revisionInfoCollection= document.getRevisionInfos();
for (int i = 0; i <revisionInfoCollection.getCount() ; i++) {
RevisionInfo revisionInfo=revisionInfoCollection.get(i);
if(revisionInfo.getRevisionType()== RevisionType.Format_Change){
revisionInfo.accept();
//reject
revisionInfo.reject();
i--;
}
}
document.saveToFile(outputFile, FileFormat.Docx);
document.close(); |
| 新機能 | SPIREDOC-10632 SPIREDOC-11261 SPIREDOC-11261 | Added support for retrieving style change revisions.
Document document = ConvertUtil.GetNewEngineDocument(); document.loadFromFile(inputFile); RevisionInfoCollection revisionInfoCollection= document.getRevisionInfos(); for (RevisionInfo revisionInfo : (java.lang.Iterable |
| 新機能 | SPIREDOC-11303 | Added support for tracking revision records for styles.
Document.hasDigitalSignature("filepath"); |
| 新機能 | SPIREDOC-11313 | Added support for setting the number of characters per line in the document grid.
sec.getPageSetup().setGridType(GridPitchType.Chars_And_Line); sec.getPageSetup().setCharactersPerLine(30); |
| 不具合修正 | SPIREDOC-9775 | リビジョンの承認動作が不正確だった問題を修正しました。 |
| 不具合修正 | SPIREDOC-10561 SPIREDOC-11399 SPIREDOC-11405 SPIREDOC-11476 SPIREDOC-11481 SPIREDOC-11518 SPIREDOC-11530 SPIREDOC-11569 SPIREDOC-11585 | Word から PDF に変換する際、描画が不正確になる問題を修正しました。 |
| 不具合修正 | SPIREDOC-10635 | AcceptChanges () を呼び出さない場合、ハイライトの色を取得できない問題を修正しました。 |
| 不具合修正 | SPIREDOC-10995 | テーブルスタイルを設定する際にエラーが発生する問題を修正しました。 |
| 不具合修正 | SPIREDOC-11433 | 目次の更新が不正確に行われる問題を修正しました。 |
| 不具合修正 | SPIREDOC-11511 SPIREDOC-11599 | HTML から Word に変換する際、描画が不正確になる問題を修正しました。 |
| 不具合修正 | SPIREDOC-9775 | リビジョンの承認動作が不正確だった問題を修正しました。 |
| 不具合修正 | SPIREDOC-11519 | MHT ファイルを DOCX に変換する際、テキストが文字化けする問題を修正しました。 |
| 不具合修正 | SPIREDOC-11520 | ドキュメント読み込み時に「IllegalArgumentException」がスローされる問題を修正しました。 |
| 不具合修正 | SPIREDOC-11525 | ドキュメント読み込み時に「NullPointerException」がスローされる問題を修正しました。 |
| 不具合修正 | SPIREDOC-11531 | コンテンツコントロール削除時の動作が不正確だった問題を修正しました。 |
| 不具合修正 | SPIREDOC-11551 | ブックマークが空の値を返す問題を修正しました。 |
| 不具合修正 | SPIREDOC-11560 | 選択済みのチェックボックスがチェック状態を保持できない問題を修正しました。 |
| 不具合修正 | SPIREDOC-11563 | リビジョン承認後、コンテンツ領域が編集不可になる問題を修正しました。 |
| 不具合修正 | SPIREDOC-11572 | ドキュメントを WPS 形式で保存する際、画像コンテンツが消失する問題を修正しました。 |
| 不具合修正 | SPIREDOC-11584 | Word から PDF への変換中に useHarfBuzzTextShaper (true) を使用すると例外がスローされる問題を修正しました。 |
| 不具合修正 | SPIREDOC-11589 | replaceBookmarkContent 使用時に「NullPointerException」がスローされる問題を修正しました。 |
| 不具合修正 | SPIREDOC-11597 | 置換動作が不正確だった問題を修正しました。 |
| 不具合修正 | SPIREDOC-11600 | StructureDocumentTagCell.removeSelfOnly 使用時に「親が存在しないため削除できません」という例外がスローされる問題を修正しました。 |
Spire.XLS for Java
| カテゴリー | ID | 説明 |
| 最適化 | SPIREXLS-5921 | Excel ドキュメント読み込み時のメモリ使用量を最適化しました。 |
| 不具合修正 | SPIREXLS-5185 | チェックボックスの取得に失敗する問題を修正しました。 |
| 不具合修正 | SPIREXLS-5913 | JVM の最大メモリ制限下で Excel ファイルを読み込む際、アプリケーションがハングする問題を修正しました。 |
| 不具合修正 | SPIREXLS-5930 | Excel を PDF に変換する際にメモリ不足エラーが発生する問題を修正しました。 |
| 不具合修正 | SPIREXLS-5954 | ワークシートをコピーする際に書式が一致しない問題を修正しました。 |
| 不具合修正 | SPIREXLS-5956 | Excel ファイルを保存する際に「印刷範囲設定エラー」例外が発生する問題を修正しました。 |
| 不具合修正 | SPIREXLS-5957 | Excel ファイルを読み込む際に「入力文字列の形式が正しくありません」例外が発生する問題を修正しました。 |
Spire.PDF for Java
| カテゴリー | ID | 説明 |
| 新機能 | - | PdfTable の列幅設定をサポートするようになりました。
// Create PDF document
PdfDocument doc = new PdfDocument();
// Set margins
PdfUnitConvertor unitCvtr = new PdfUnitConvertor();
PdfMargins margin = new PdfMargins();
margin.setTop(unitCvtr.convertUnits(2.54f, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point));
margin.setBottom(margin.getTop());
margin.setLeft(unitCvtr.convertUnits(3.17f, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point));
margin.setRight(margin.getLeft());
// Add a page
PdfPageBase page = doc.getPages().add(PdfPageSize.A4, margin);
// Add table
PdfTable table = new PdfTable();
PdfSolidBrush brush = new PdfSolidBrush(new PdfRGBColor(Color.black));
table.getStyle().setBorderPen(new PdfPen(brush, 0.5f));
table.getStyle().getHeaderStyle().setStringFormat(new PdfStringFormat(PdfTextAlignment.Center));
table.getStyle().setHeaderSource(PdfHeaderSource.Rows);
table.getStyle().setHeaderRowCount(1);
table.getStyle().setShowHeader(true);
table.getStyle().setCellPadding(2);
table.getStyle().setHeaderSource(PdfHeaderSource.Rows);
table.getStyle().setHeaderRowCount(1);
table.getStyle().setShowHeader(true);
// Set header font and style
PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("SimSun", Font.PLAIN, 12));
table.getStyle().getHeaderStyle().setFont(font);
table.getStyle().getHeaderStyle().setBackgroundBrush(PdfBrushes.getCadetBlue());
PdfTrueTypeFont fontBody = new PdfTrueTypeFont(new Font("SimSun", Font.PLAIN, 10));
// Set even row font
table.getStyle().getDefaultStyle().setFont(fontBody);
// Set odd row font
table.getStyle().getAlternateStyle().setFont(fontBody);
// false: distribute by total width proportion, true: use set column width
table.getStyle().isFixWidth(true);
// Define data
String[] data = {"1;2;3;4;5",
"A1;B1;1,391,190,000;18.2%; ",
"A1;B1;126,490,000;1.66%; ",
"A1;B1;65,648,054;0.86%; ",
"A1;B1;82,665,600;1.08%; ",
"A1;B1;37,119,000;0.49%; ",
"A1;B1;327,216,000;4.29%; "
};
String[][] dataSource = new String[data.length][];
for (int i = 0; i < data.length; i++) {
dataSource[i] = data[i].split("[;]", -1);
}
table.setDataSource(dataSource);
for(int i = 0; i < table.getColumns().getCount(); i++)
{
PdfColumn column = table.getColumns().get(i);
column.setWidth(50);
column.setStringFormat(new PdfStringFormat(PdfTextAlignment.Center, PdfVerticalAlignment.Middle));
}
// Add table to page
table.draw(page, new Point2D.Float(0, 50));
// Save document
doc.saveToFile("addTable.pdf", FileFormat.PDF); |
Spire.Presentation for Java
| カテゴリー | ID | 説明 |
| 新機能 | - | SVG をシェイプに変換するための AddFromSVGAsShape メソッドを追加しました。
Presentation ppt = new Presentation();
ppt.loadFromFile("input.pptx");
for (int i = 0; i < ppt.getSlides().getCount(); i++)
{
ppt.getSlides().get(i).getShapes().addFromSVGAsShapes("in.svg");
}
ppt.saveToFile("output.pptx", FileFormat.PPTX_2013);
ppt.dispose(); |
| 不具合修正 | SPIREPPT-2886 | 追加した LaTeX 公式が正しくレンダリングされない問題を修正しました。 |
| 不具合修正 | SPIREPPT-2980 | PowerPoint ファイルを PDF に変換した際にグラフのデータラベルの書式が正しくない問題を修正しました。 |
| 不具合修正 | SPIREPPT-2981 | PowerPoint ファイルを PDF に変換した際にテキストの方向が正しくない問題を修正しました。 |
| 不具合修正 | SPIREPPT-3009 | LaTeX 公式(\square)を追加した際に「NullPointerException」が発生する問題を修正しました。 |
Spire.Barcode for Java
| カテゴリー | ID | 説明 |
| 不具合修正 | SPIREBARCODE-273 | 画像をスキャンする際にアプリケーションが「java.lang.OutOfMemoryError」を発生させる問題を修正しました。 |
| 不具合修正 | SPIREBARCODE-276 | 画像をスキャンした際に結果データが不正になる問題を修正しました。 |






