Aspose.Cells for Javaを使用してラベル印刷を行いたいと思います。
ラベル印刷機の用紙サイズが標準で2種類あり以下となります。
115×115mm
178×115mm
どのように設定すればよいでしょうか。
また、テンプレートファイルを使用する場合、印刷設定に上記ラベル印刷の設定を行い、
その用紙サイズ並びに用紙の向きを取り込むことはできますか。
使用バージョン:Aspose.Cells for Java 17.12
以上、よろしくお願いします。
Aspose.Cells for Javaを使用してラベル印刷を行いたいと思います。
ラベル印刷機の用紙サイズが標準で2種類あり以下となります。
115×115mm
178×115mm
どのように設定すればよいでしょうか。
また、テンプレートファイルを使用する場合、印刷設定に上記ラベル印刷の設定を行い、
その用紙サイズ並びに用紙の向きを取り込むことはできますか。
使用バージョン:Aspose.Cells for Java 17.12
以上、よろしくお願いします。
サンプルソースを作成して印刷の確認を行いました。
プリンターにSATO Lesprit412vを指定し て動作させたところ、用紙向きを縦に設定した場合、思うような位置に印字を行わず、横に設定した場合、印字を行いませんでした。
設定は以下としています。
プリンター
SATO Lesprit412v
利用可能な用紙
標準ラベル1 115 x 115 mm
標準ラベル2 178 x 115 mm
サンプルコードとテンプレートファイルをありがとうございます。
Aspose.Cellsには、PageSetupでカスタム用紙サイズを設定するためのcustomPaperSize(double width、double height)APIがあります。コードセグメントに追加できるサンプルコード行を参照してください。
例えば
サンプルコード
.........
sheet.getPageSetup().customPaperSize(115/25.4, 115/25.4);
......
これが少し役立つことを願っています。
サンプルコードの提示ありがとうございます。
サンプルコードを参考にテストコードを作成して確認しました。
ただ、教えて頂いた通りにすると正常に印刷を行わず、Width、Heightをそれぞれ1/2で設定すると正常に印刷することができました。
これは正しい動きなのでしょうか。
test2.zip (781 Bytes)
追記になります。
試しにAspose.Cells for .NETで同様のことを行ってみました。
用紙サイズのWidth、Heightを1/2に設定しなくても、同じエクセルファイル、同じプリンタで正常に印刷することができました。
少しでも参考になればと思います。
Form1.zip (559 Bytes)
コードセグメントをありがとう。
まあ、それがあなたの必要性のために働くならば、あなたはそれを使うかもしれません。
同じコードセグメントに.NETとJavaの両方の印刷物を提供できますか。ファイルに保存してこれらのファイルを添付することができます。同じサンプルコード(.NETとJava)を貼り付けてください。まもなく確認されます。
プリンターが何になるかわからないので、都度、コードで1/2などの調整をするのは難しいです。調整を行わず通常の設定で印刷できることを望みます。
サンプルコードとテンプレートファイルを送ります。Javaのコードの1/2にしているところを1/2にしなければ、同様になります。
Java
test2.zip (781 Bytes)
.Net
Form1.zip (559 Bytes)
テンプレート
Book1.zip (6.0 KB)
サンプルファイルをありがとう
以前の要件に従って、.NETとJavaの両方に印刷も提供してください。プリントアウトをファイルに保存してそれらのファイルを添付することができます。アーティファクトを入手したら、チケットを記録します。
デモファイルをありがとう。
問題に適切なチケットを記録してください。しかし、最初に私達はあなたの側からもう少し詳細が必要です:
1)プリンター "SATO Lesprit 412v"は実際のプリンターですか?それとも仮想プリンタですか?
2)あなたによれば、正しいカスタム用紙の幅と高さを設定したときにプリンタの出力が正しくない場合、あなたの問題はありますか?
上記の詳細を取得したら、調査チケットを記録します。
質問に回答します。
1)"SATO Lesprit 412v"は実際のプリンターです。
2)意図がよくわからないのですが、代替えもないため、正常に出力しないと困ります。また、動作確認は送ったプログラムにaspose.cellのパスを通しただけの簡単なプログラムなので不具合はないと思います。
チケットへの記録をお願いします。
詳細をありがとう。
次のように私はあなたの問題のための調査チケットを記録しました:
CELLSJAVA-42965 - Aspose.Cellsを使用中の印刷の問題
私たちはあなたの問題をもうすぐ調べます。
更新があり次第、お知らせいたします。
私たちはあなたの実際のプリンタ "SATO Lesprit 412v"をインストールしていません。それは私達のプリンターの標準的な用紙サイズとうまく働きます。正しく機能しないプリンターファイル(.shd、.spl)を共有します。たとえば、次のコードを使用します。
String strPrinterName = "SATO Lesprit412v";
//String strPrinterName = "prt001-hr1010";
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = "C:\\workspace_print\\print_test\\";
// Instantiate a new workbook
Workbook book = new Workbook(dataDir + "Book1.xlsx");
// Create an object for ImageOptions
ImageOrPrintOptions imgOptions = new ImageOrPrintOptions();
// Get the first worksheet
Worksheet sheet = book.getWorksheets().get(0);
// Set page size
PageSetup ps = sheet.getPageSetup();
if (ps.getPaperSize()>=PaperSizeType.CUSTOM) {
double w = 115/25.4;
double h = 115/25.4;
ps.customPaperSize(w,h);
}
// Create a SheetRender object with respect to your desired sheet
SheetRender sr = new SheetRender(sheet, imgOptions);
// Print the worksheet
sr.toPrinter(strPrinterName,"output_13bbd20f-af14-44eb-8acb-21552c46a4a01_2_20190702202910131_.xlsx");
参考例の提示ありがとうございます。
提示された設定で試して確認しました。
11.5 x 11.5インチの正方形の用紙の場合にはきれいに印刷できました。
ただ、この例だとプログラム中に用紙サイズを持つことになりますが、
複数の用紙サイズに対応するため、プログラム中に用紙サイズを持つのではなく
ワークシートに設定してある用紙サイズを使い印刷したいと思います。
どのようにすればよいのか方法を教えてください。
@Kenji_Nakanishi,
用紙サイズ(115×115mm、178×115mmなど)は、事前定義された用紙サイズの範囲外です。 ユーザー定義のようなものです。 これはマシンごとに異なる場合があります。
1台のマシンに設定された目的の用紙サイズでMicrosoft Excelでファイルを作成してから、そのファイルを別のマシンにコピーし、Microsoft Excelで開き、printviewして、用紙サイズが目的の用紙サイズに維持されているかどうかを確認できます。
したがって、プログラムで用紙サイズを設定して、プログラムに目的のカスタム用紙サイズを知らせる必要があります。