【问题标题】:Is there any way to print receipt using PHP?有没有办法使用 PHP 打印收据?
【发布时间】:2019-01-15 15:30:08
【问题描述】:

我正在尝试这种方式,但它没有产生正确的对齐方式。我正在尝试在我的 LAN 中使用网络打印机“HP LaserJet Mono PCLmS 类驱动程序”进行打印。打印正常,但对齐不完美。

$text1 = $this->string_align("Example item #1", "4.00");
$text2 = $this->string_align("Another thing tea", "3.50");
$text3 = $this->string_align("Something else", "1.00");
$text4 = $this->string_align("A final item", "4.45");
$text5 = $this->string_align("Subtotal", "12.95");
$text6 = $this->string_align("A local tax", "1.30");
$text7 = $this->string_align("Grand Total", "14.25");

$handle = printer_open("HP LaserJet Mono PCLmS Class Driver");
printer_start_doc($handle, "Recept Document");
printer_start_page($handle);
printer_draw_bmp($handle, "D:\\logo.bmp", 1, 1);
$font = printer_create_font("Arial", 50, 70, 300, false, false, false, 0);
printer_select_font($handle, $font);
printer_draw_text($handle, $text1, 100, 400);
printer_draw_text($handle, $text2, 100, 500);
printer_draw_text($handle, $text3, 100, 600);
printer_draw_text($handle, $text4, 100, 700);
printer_draw_text($handle, $text5, 100, 800);
printer_draw_text($handle, $text6, 100, 900);
printer_draw_text($handle, $text7, 100, 1000);
printer_delete_font($font);
printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
exit;

function string_align($name = '', $price = '', $dollarSign = false){
$rightCols = 10;
$leftCols = 38;
if ($dollarSign) {
$leftCols = $leftCols / 2 - $rightCols / 2;
}
$left = str_pad($name, $leftCols) ;

$sign = ($dollarSign ? '$ ' : '');
$right = str_pad($sign . $price, $rightCols, ' ', STR_PAD_LEFT);
return "$left$right\n";
}

【问题讨论】:

  • 为什么不直接输出,让浏览器打印呢?
  • 试试consolas字体。
  • @Andreas。谢谢你的评论。收据将使用调度程序打印,无法使用浏览器。
  • @HafizurRahman 使用 printjs.crabbly.com
  • @Sujit Agarwal,感谢您的评论。现在使用 consolas 可以完美运行。

标签: php printing text-alignment php-printer


【解决方案1】:

试试consolas 字体。

这是一种宽度均匀的字体,应该可以在您的打印页面上正确呈现。

【讨论】:

  • 顺便问一下,有没有 PHP 库可以让它变得简单?
  • 您正在寻找一个 php 库来简化打印?
  • 是的@Sujit Agarwal
  • 它不适用于 LAN 打印机“HP LaserJet Mono PCLmS 类驱动程序”。
  • 你是说图书馆?
猜你喜欢
  • 2021-12-24
  • 1970-01-01
  • 1970-01-01
  • 2015-03-17
  • 1970-01-01
  • 1970-01-01
  • 2014-04-21
  • 2016-05-31
  • 1970-01-01
相关资源
最近更新 更多