【Aspose.Total】CSVファイルの日本語文字化け防止の方法について

■利用製品
Aspose.Total for .NET(v23.3.10)

■事象
Aspose.Total for .NET(v23.3.10)を使用し、下記添付のCSVファイルからPDFへ変換を行いました。
変換元のCSVはShift_JISで、そのままPDFへ変換すると、文字化けしてしまいました。
添付の「20240524_Redmine44514.png」をご参照ください。
20240524_Redmine44514.png (287.3 KB)
Redmine44514.zip (1.1 MB)
・変換元CSVファイル:「Redmine44514⑤0000006994.csv」
・変換後PDFファイル:「Redmine44514⑤0000006994_Aspose.pdf」

■確認事項
①CSVをUTF-8にすれば化けないことは確認しましたが、
UTF-8にするとExcelで表示したときに文字化けするので、
文字コードをShift_JISで保存したCSVファイルをPDFに変換する際に
文字化けを防ぐ方法はありますでしょうか。

②CSVをメモ帳で開いてプリントすると、
PDFは改ページなしですべての内容が表示されます。
「Screenshot20240417.png」Notepadの部分をご参照ください。
Asposeで変換する際に、同様に改ページなしですべての内容
を表示する方法はありますでしょうか。

恐れ入りますが、
上述2点の確認事項に対する対応方法または回避方法があれば、ご教示ください。
よろしくお願い申し上げます。

@caoyuan,

サンプル CSV ファイルと詳細をありがとうございます。

Aspose.Cells for .NET オブジェクト モデルを介して CSV ファイルをロードするときは、適切なエンコード (Shift_JIS など) を指定する必要があります。これにより、CSV ファイルは正確に P​​DF に変換され、出力 PDF に文字化け文字が追加/レンダリングされなくなります。さらに、データ全体 (CSV 内) を 1 ページにレンダリングするには、PDF ファイル形式でレンダリングするときに OnePagePerSheet オプションを設定することができます。次のサンプル コードを参照してください。テンプレート CSV ファイルを使用して PDF に変換しました。ニーズに応じて適切に機能します。
例えば
サンプルコード:

// Initialize TxtLoadOptions class object
Aspose.Cells.TxtLoadOptions options = new Aspose.Cells.TxtLoadOptions(LoadFormat.Csv);
options.Encoding = Encoding.GetEncoding("Shift_JIS");

// Load the input CSV file
Aspose.Cells.Workbook workbook = new Aspose.Cells.Workbook("e:\\test2\\Redmine44514⑤0000006994.csv" , options);

PdfSaveOptions pdfSaveOpitons = new PdfSaveOptions();
pdfSaveOpitons.OnePagePerSheet = true;

// Save output PDF file
workbook.Save("e:\\test2\\out1.pdf", pdfSaveOpitons);

出力された PDF ファイルを添付しましたので、ご参照ください。
out1.zip (35.9 KB)

1 Like

@amjad.sahi
早速ご回答いただきありがとうございます。

Aspose.Cells for .NET オブジェクト モデルを介して CSV ファイルをロードするときは、適切なエンコード (Shift_JIS など) を指定する必要があります。
これにより、CSV ファイルは正確に P​​DF に変換され、出力 PDF に文字化け文字が追加/レンダリングされなくなります。

→かしこまりました。
ご提示頂いたサンプルコードを参照し、文字コードShift_JISのCSVファイルが
文字化けせずに正しくPDFに変換されることを確認しました。

さらに、データ全体 (CSV 内) を 1 ページにレンダリングするには、
PDF ファイル形式でレンダリングするときに OnePagePerSheet オプションを設定することができます。

→かしこまりました。
ご提示頂いたOnePagePerSheet オプションの設定で、
1 ページにすべての内容が表示された PDF に変換されることを確認しました。

上記2点の課題とも解消されましたので、本チケットをクローズいたします。
ご丁寧に対応いただきありがとうございました。
今後とも宜しくお願い致します。

@caoyuan,

両方の問題が、提案されたコードセグメントによって解決されたことがわかって良かったです。さらにご質問や問題がございましたら、いつでもお気軽にお問い合わせください。すぐに対応させていただきます。