Free Support Forum - aspose.com

Aspose.Cells for .NET Excel⇒PDF変換時の、セル内での意図しない改行について

Excelで「折り返して全体を表示する」を設定したセルに長い文字列を入力し、
Aspose.Cellsを使用してPDFに変換すると、
セル内で意図しない改行が入ったPDFが出力されます。

意図しない改行が入らないように設定することは可能でしょうか。

添付の資料も合わせてご確認ください。
セル内の意図しない改行について.zip (30.0 KB)

@jajeis,

テンプレートファイルと詳細をありがとう。

Aspose.Cells APIを介してPDFファイルにレンダリングする前に、[テキストの折り返し]([セルのフォーマット] || [配置]タブ)オプションをオンにして列幅をわずかに増やしますか?

問題を評価するために、ワークブックで使用されているフォントも必要です。フォントファイル(.ttfファイル)を圧縮して共有してください。問題はまもなく確認されます。

ご回答ありがとうございます。

こちらが実施した処理は以下のコードです。
(コード内のファイルは、添付内のファイルと同名です。)

Aspose.Cells.Workbook workbook = new Aspose.Cells.Workbook("問い合わせ資料.xlsx");
workbook.Save("問い合わせ資料_AsposeでExport.pdf",SaveFormat.Pdf);

添付内の"問い合わせ資料_ExcelでExport.pdf"のようにExcel表示のまま、
また、列幅を変更せずに出力をするためには、どのような設定が必要でしょうか?

以上、よろしくお願いいたします。

セル内の意図しない改行について_2.zip (32.0 KB)

@jajeis,

ファイルをありがとう。

テンプレートExcelファイルを手動でMS Excelで開くと、Aspose.Cellsを介してレンダリングされた出力PDFと同じ表示が表示されます。スクリーンショットを参照してください。
sc_shot1.png (28.8 KB)

つまり、MS Excelの表示と同じようにPDFをレンダリングするため、これはAspose.Cells APIの問題ではありません。 Aspose.Cellsは、PDFファイル形式にレンダリングする際、MS Excel標準と仕様に従います。

列の幅を手動で変更せずに、MS Excelでタスクをどのように達成できますか?問題を評価できるように、希望する結果をExcelファイルに提供してください。

また、基本となるフォントファイルを提供するように求められたので、必要に応じて実行してください。

ご確認ありがとうございます。

列の幅を手動で変更せずに、MS Excelでタスクをどのように達成できますか?問題を評価できるように、希望する結果をExcelファイルに提供してください。

添付資料の"Target_file.xlsx"です。

ExcelのExportによる結果が、"Target_file(Excel_output_result).pdf"です。
AsposeのExportによる結果が、"Target_file(Aspose_output_result).pdf"です。

問題を評価するために、ワークブックで使用されているフォントも必要です。フォントファイル(.ttfファイル)を圧縮して共有してください。問題はまもなく確認されます。

添付のFontFileフォルダ内をご確認ください。

セル内の意図しない改行について_3.zip (4.8 MB)

以上、よろしくお願いいたします。

@jajeis,

フォントファイルと実行されたExcelファイルをありがとう。

PCに「MS Gothic」というフォントをインストールしました。提供されたExcelファイルをMS Excelで開くと、以前と同じ画面が表示されていました。添付のスクリーンショットをご覧ください。
Screenshot_viewing Target_file_into_MS_Excel1.png (30.5 KB)

次に、MS Excelを使用してファイルを手動でPDFに再保存しました。また、Aspose.Cellsを使用してExcelをPDFファイル形式に変換しました。 Aspose.Cellsが生成するのと同じ出力を取得しました。参考のために、両方の出力PDFファイル(MS ExcelとAspose.Cellsから)を参照してください。
files1.zip (34.0 KB)

そして、これは私の環境の詳細です。
OS:Windows8、MS Excelバージョン:2007および2013。

ご確認ありがとうございます。

こちらの環境の詳細は以下です。
OS:Windows10
MS Excel Version:2013および2016

OS環境を合わせてご確認いただけますでしょうか。

@jajeis,

環境の詳細をありがとう。
提供されたExcelファイル「Target_file.xlsx」をMS Excelで開き、スクリーンショットを撮って添付します。

ご返信ありがとうございます。

添付が見当たりませんが、
そちらの環境で現象が再現したため、
これから検証していただけるということでしょうか?

@jajeis,

MS ExcelでテンプレートExcelファイル “Target_file.xlsx”([投稿]添付ファイルに添付)を開き、スクリーンショットを撮って参照用にここに添付してください。

@jajeis,

スクリーンショットを送信する必要はもうありません。最後に、問題が再現されました。この問題は、MS Excelオプションを使用してExcelのデフォルト言語を日本語に設定したときに再現されました。ファイルで説明されているように、MS Excelと出力PDFの同じ表示が見つかりました。この問題について、ID "CELLSNET-47281"のチケットをログに記録しました。

問題を調査して解決します。

ご不便おかけしてすみません。

@jajeis,

参考までに、Excelのデフォルトの編集言語をExcel-> Options-> Languageで英語に変更すると、出力/印刷ビューが異なります。日本語がデフォルトの編集言語として設定されているときに、Excelと同様の出力を取得するオプションを追加することを検討しています。これで問題が解決します。

ご対応ありがとうございます。

日本語がデフォルトの編集言語として設定されているときに、Excelと同様の出力を取得するオプションを追加することを検討しています。

こちらの対応はいつごろ完了する予定でしょうか?

@jajeis,
この問題を分析したところ、このタスクを完了するまでに2〜3週間かかる場合があります。フィードバックを共有する準備ができ次第、こちらから返信します。

@jajeis,
これは、お客様の問題(以前は「CELLSNET-47281」としてログに記録されていました)が修正されたことをお知らせするためのものです。 QAを実行し、他の拡張機能と修正を組み込んだ後、修正バージョンをすぐに提供します。

@jajeis,
新しいAPI PdfSaveOptions.DefaultEditLanguageを修正V20.4.2に追加します。 コード:

Aspose.Cells20.4.2 For .Net2_AuthenticodeSigned.Zip (5.3 MB)
Aspose.Cells20.4.2 For .Net4.0.Zip (5.3 MB)

Workbook wb = new Workbook(srcFile);
Console.WriteLine(wb.DefaultStyle.Font);

Style defaultStyle = wb.DefaultStyle;
if (defaultStyle.Font.Name == "MS ゴシック")
{
    defaultStyle.Font.Name = "MS ゴシック";
    wb.DefaultStyle = defaultStyle;
    Console.WriteLine(wb.DefaultStyle.Font);
}

PdfSaveOptions pdfSaveOptions = new PdfSaveOptions();
pdfSaveOptions.DefaultEditLanguage = DefaultEditLanguage.CJK;
wb.Save(destFile.pdf, pdfSaveOptions);

ソースファイルのデフォルトフォントの名前は「MS ゴシック」であり、「MS ゴシック」であることに注意してください。 フォント名の最初の2文字に注意してください。

ご対応ありがとうございます。
早速確認させていただいたのですが、出力結果が想定と違いました。

添付資料の「ScreenShot.xlsx」をご確認ください。

1.Excel
→ Excelで開いた状態のScreenShotです。
2.Preview
→ 印刷のPreviewをした際のScreenShotです。

AsposeでPDF保存を実施したところ、
2.Previewの結果(問い合わせ資料_ExcelExport.pdf)を想定していましたが、
実際は「問い合わせ資料.pdf」が出力されました。

何か設定が不足しているのでしょうか?
また、他に必要な情報があれば教えてください。

セル内の意図しない改行について_4.zip (369.9 KB)

@jajeis,

テンプレートファイル、テンプレートファイルのスクリーンショットと詳細をお寄せいただきありがとうございます。

サンプルは問題を示しています。サンプルと問題の詳細を記録しました。問題を再開しました。すぐに修正を試みます。

@jajeis,

問題をさらに評価しました。
「Excel 2019名前を付けて保存」で手動で保存したスクリーンショットと出力PDFファイルをご覧ください。 (添付ファイルを参照: “4_diff_printview.zip”)。出力はAspose.Cellsによる出力と同じです。

印刷ビューのスクリーンショットとして、プリンターを「Microsoft Print to PDF」に変更してみてください。また、お使いの環境でシステム設定の表示設定が100%になっているか確認してください。
4_diff_printview.zip (83.9 KB)

ご確認ありがとうございました。

添付をご確認ください。
1.screenshot.png
→ プリンターを「Microsoft Print to PDF」に変更しました。
なお、システム設定の表示設定と、Excelの倍率は、共に100%です。

やはり「output_by_Aspose.pdf」のみ、改行の位置が異なります。
他に設定が必要でしょうか?

セル内の意図しない改行について_5.zip (100.9 KB)