【问题标题】:Printing with PHP - Different font sizes?使用 PHP 打印 - 不同的字体大小?
【发布时间】:2014-08-24 03:38:32
【问题描述】:

我在一所学校工作,正在为我们的帮助台编写一个向导式的前端。学生们将拿起平板电脑,填写他们的名字,选择他们遇到的问题,然后系统就会打开一张票。

我们在办公桌上共享收据打印机,并使用 PHP 的 printer_* 函数,我可以使用 RAW 模式打印出简单的收据。学生将把收据带回课堂,向老师出示他们与我们在一起的证明。到目前为止,我的代码运行良好:

$handle = printer_open("EPSON TM-T88IV Receipt"); // The name of our printer on Windows
printer_set_option($handle, PRINTER_PAPER_FORMAT, PRINTER_FORMAT_CUSTOM); // Custom paper format
printer_set_option($handle, PRINTER_PAPER_WIDTH, "80"); // 80mm wide
printer_set_option($handle, PRINTER_MODE, "RAW"); // And raw printing mode
printer_write($handle, "Hello world\nPrinting is fun\nGoodbye"); // Sample text
printer_close($handle);

但我想知道的是,我如何进行花哨的格式设置,例如更大的字体大小、粗体文本甚至可能是徽标? (后者,不是那么重要,只是一个愿望清单的东西)

我看到您可以将模式设置为文本和 EMF(增强型元文件格式?),但似乎找不到太多关于从 PHP 生成 EMF 的信息。我在一些网站上看到了转义码,但这些似乎是特定于打印机的,而不是人类可读的。

有什么建议吗?

【问题讨论】:

    标签: php printing


    【解决方案1】:

    看来您应该同时使用 printer_create_fontprinter_draw_test 这两个函数,并且您可以像这样使用它们(代码来自 PHP 手册):

    <?php
    $handle = printer_open();
    printer_start_doc($handle, "My Document");
    printer_start_page($handle);
    
    $font = printer_create_font("Arial", 72, 48, 400, false, false, false, 0);
    printer_select_font($handle, $font);
    printer_draw_text($handle, "test", 10, 10);
    printer_delete_font($font);
    
    printer_end_page($handle);
    printer_end_doc($handle);
    printer_close($handle);
    ?>
    

    【讨论】:

      【解决方案2】:

      你可以这样做。

      $font1 = printer_create_font("Arial", 600, 400, 4000, false, false, false, 0); 
      $font2 = printer_create_font("Arial", 200, 150, 1500, false, false, false, 0); 
      printer_select_font($handle, $font1); 
      printer_draw_text($handle, '1', 100, 100); 
      printer_select_font($handle, $font2); 
      printer_draw_text($handle, '2', 1000, 500); 
      

      【讨论】:

        猜你喜欢
        • 2017-09-29
        • 1970-01-01
        • 2012-08-30
        • 2014-10-21
        • 2013-03-06
        • 1970-01-01
        • 1970-01-01
        • 2023-03-09
        • 1970-01-01
        相关资源
        最近更新 更多