このリリースの新機能
| キー | カテゴリ | 概要 |
|---|---|---|
| CONVERSIONNET-8437 | 機能 | Diagram ドキュメントの変換先として Drawio ファイル形式を追加 |
| CONVERSIONNET-8442 | 機能 | Diagram ドキュメントの変換元として Mermaid MMD ファイル形式を追加 |
| CONVERSIONNET-8445 | 機能 | 圧縮ドキュメントの変換先として CAB を追加 |
| CONVERSIONNET-8459 | 機能 | CadLoadOptions に CadLayoutScope を追加し、モデル空間、紙レイアウト、またはその両方を変換できるように |
| CONVERSIONNET-8464 | 機能 | 圧縮ドキュメントの変換元および変換先として XAR を追加 |
| CONVERSIONNET-8460 | 改善 | 各 CAD レイアウトを個別のスライド、ワークシート、Word ページ、HTML/MHTML 画像、SVG 領域に変換 |
| CONVERSIONNET-8461 | 改善 | CAD レイアウト選択が何も一致しない場合に、欠落しているレイアウト名を表示 |
| CONVERSIONNET-8462 | 改善 | 未設定の LoadOptions.Format を例外を投げるのではなく「未設定」として扱う |
| CONVERSIONNET-8361 | バグ | DOCX のアウトライン付きシェイプが PDF 変換時に正しく描画されない |
| CONVERSIONNET-8396 | バグ | Presentation ファイルを PDF に変換するとヘッダー/フッターが不整合になる |
| CONVERSIONNET-8399 | バグ | Summary リンクが壊れた Presentation ファイルを変換すると GroupDocsConversionException が発生 |
| CONVERSIONNET-8426 | バグ | DWG ファイルを PDF に変換する際のページシート向き設定 |
| CONVERSIONNET-8427 | バグ | アクティブなレイアウトがない CAD 図面の変換で NullReferenceException を修正 |
| CONVERSIONNET-8428 | バグ | CAD 変換で明示的にページサイズを設定したときの二重単位変換を修正 |
| CONVERSIONNET-8429 | バグ | CadLoadOptions が無視されて CAD → PDF/UA が変換されない問題を修正 |
| CONVERSIONNET-8430 | バグ | 複数レイアウト CAD ドキュメントで CadDocumentInfo が 1 ページと報告する問題を修正 |
| CONVERSIONNET-8444 | バグ | Linux 環境で GroupDocs.Conversion のサムネイル生成に関する問題 |
| CONVERSIONNET-8467 | バグ | EML → PDF 変換時に単位タイプ不一致例外が発生する問題を修正 |
パブリック API の変更
⚠️ 後方互換性のない変更 – 以下の更新は既存の公開動作を変更します。実行時エラーを防ぐためにコードを調整してください。
1. LoadOptions.Format が未設定の場合に例外を投げる代わりに null を返すようになりました
影響を受けるクラス: すべての 28 種類の型付き LoadOptions(例: SpreadsheetLoadOptions、PdfLoadOptions、CadLoadOptions など)
変更点
フォーマットが割り当てられる前に Format プロパティを取得すると例外が発生していましたが、現在は null を返すようになり、単純な null チェックで対応可能です。
移行例
var loadOptions = new SpreadsheetLoadOptions();
if (loadOptions.Format == null)
{
// 新しいコードパス – 以前は getter が例外を投げて到達できませんでした。
}
ガイダンス
loadOptions.Format 周りの try/catch を null チェックに置き換えてください。FileType.Unknown との比較は行わず、== null で判定してください。
2. CadLoadOptions.LayoutNames の完全一致検証と詳細エラーレポート
影響を受けるクラス: CadLoadOptions
変更点
LayoutNames は現在、図面のレイアウト名と 完全一致(大文字小文字を区別) で比較されます。いずれも一致しない場合、利用可能なレイアウトと不一致の要求を列挙した InvalidLoadOptionsException がスローされます。
移行例
using GroupDocs.Conversion.Exceptions;
try
{
using var converter = new Converter("drawing.dwg",
ctx => new CadLoadOptions { LayoutNames = new[] { "layout1" } });
converter.Convert("out.pdf", new PdfConvertOptions());
}
catch (InvalidLoadOptionsException ex)
{
// 例示メッセージ:
// "CadLoadOptions.LayoutNames に一致するレイアウト名がこの図面にありません。利用可能レイアウトは
// Model, Layout1, Layout2 です。要求された名前: layout1。名前は完全一致で比較されるため、
// 大文字小文字が異なるだけでも別名とみなされます。"
Console.WriteLine(ex.Message);
}
ガイダンス
- レイアウト名は正確に、かつソース図面で使用されているケースと同じように記述してください。
- 必要なレイアウトだけを指定する場合は、正確な名前を提供してください。不一致のエントリは無視され、マッチしたレイアウトは引き続き変換されます。
3. 複数シートの CAD 図面がシートごとに個別の出力単位を生成するようになりました
影響を受けるクラス: Converter、PresentationConvertOptions、PdfConvertOptions
変更点
従来は、複数の紙空間レイアウトを持つ図面を変換すると 単一の平坦化画像/スライド が生成されていました。現在は各レイアウトごとに 個別の出力単位(スライド、ページ等)が作成され、レイアウトのページ設定に合わせたサイズになります。Converter.GetDocumentInfo().PagesCount は生成された単位数を返します。
移行例 – 変換
using var converter = new Converter("multi-layout.dwg");
// 3 シート → 3 スライド 出力(以前は 1 スライド).
converter.Convert("drawing.pptx", new PresentationConvertOptions());
移行例 – ページ数取得
using var converter = new Converter("multi-layout.dwg");
int sheets = converter.GetDocumentInfo().PagesCount; // レイアウトが 3 つなら 3 を返す
ガイダンス
- UI のページングやファイル命名など、下流処理が複数出力に対応できるよう調整してください。
- 単一シートの図面では挙動は変わりません。
- 例外は CAD → PDF/UA‑1 で、依然として単一のタグ付ページが生成されます。
4. 新しい CadLoadOptions.LayoutScope プロパティで変換対象空間を明示的に制御
影響を受けるクラス: CadLoadOptions
変更点
LayoutScope により Model、Layouts、または Both(既定) のいずれかを指定してロード対象を選択できます。
LayoutNamesが設定されている場合、LayoutScopeは無視され、明示的な名前が優先されます。- 少なくとも 1 シートが存在する図面で、選択したスコープがシートを生成しない場合は、サイレントにデフォルト空間が使用される代わりに
InvalidLoadOptionsExceptionがスローされます。
移行例 – 紙レイアウトのみ変換
using GroupDocs.Conversion;
using GroupDocs.Conversion.Options.Convert;
using GroupDocs.Conversion.Options.Load;
using var converter = new Converter("drawing.dwg",
ctx => new CadLoadOptions { LayoutScope = CadLayoutScope.Layouts });
converter.Convert("layouts.pdf", new PdfConvertOptions());
ガイダンス
- 既存コードはデフォルトで Both が使用されるため、従来通り動作します。
- モデル空間だけ、または紙レイアウトだけを対象にしたい場合はそれぞれ
CadLayoutScope.ModelまたはCadLayoutScope.Layoutsを設定してください。 - 以前に空の
LayoutNames配列でフィルタリングしようとしていた場合は、適切なLayoutScopeに置き換えて、シートが選択されなかったときに明確なエラーが得られるようにしてください。
新機能
高度な CAD レイアウト制御: 特定の CAD レイアウトを選択し、各レイアウトを個別のスライド、ワークシート、ページ、画像、または SVG 領域に変換できます。CadLayoutScope によりモデル空間、紙レイアウト、またはその両方を選択でき、シート固有の向きやページサイズ設定も尊重されます。
拡張されたアーカイブサポート: XAR と CAB 形式が圧縮ドキュメントの変換元・変換先として利用可能になり、これらのアーカイブタイプ間のシームレスな変換が実現します。
最新ダイアグラム相互運用性: Mermaid MMD ファイルをダイアグラムの変換元として、Drawio ファイルを変換先としてサポートし、モダンな図表作成ツールとの統合が容易になります。
重要な安定性向上: EML → PDF、DOCX シェイプのアウトライン、プレゼンテーションのヘッダー/フッター、壊れたサマリーリンク、Linux 環境でのサムネイル生成、DWG シート向き設定に関する変換失敗を修正しました。これにより、メール、オフィス、プレゼンテーション、CAD ワークフロー全体の信頼性が向上します。
コード例
using var converter = new Converter("multi-layout.dwg");
// 3 シート → 3 スライド 出力(以前は 1 スライド).
converter.Convert("drawing.pptx", new PresentationConvertOptions());
アップデートの取得方法
NuGet
Install-Package GroupDocs.Conversion -Version 26.8
GroupDocs.Conversion 26.8 on NuGet
直接ダウンロード
リリースノートに直接ダウンロードリンクは提供されていません。