【问题标题】:Fast dot-matrix printing with PHP使用 PHP 进行快速点阵打印
【发布时间】:2010-11-23 11:32:10
【问题描述】:

我的客户在 Windows 中有旧的基于 foxpro 的应用程序,并希望使用 PHP/MySQL 使其基于 Web。唯一的问题是打印他们的各种报告/收据。基于 foxpro 的应用程序有助于使用某种模式等在点阵打印机上进行快速打印(抱歉,我不确定)。

因此,如果有一个由 php 创建的 web 表单并且我们想要打印,它会进入打印机并开始打印每一行(在每一行上重复多次以使其粗体和慢速)。这也是其他应用程序的默认行为,无论是 word/excel 等,但是当您打印时,很少有像基于 DOS 的文本文件这样的旧应用程序在打印时会再次打​​印得非常快(仅打印一行,因此虽然变得粗糙但快速)。

任何见解如何使用 PHP 实现这一目标?任何指针都会有所帮助。

【问题讨论】:

  • PHP 是否在打印机连接的机器上运行?

标签: php printing


【解决方案1】:

Link 使用 Firefox 和 JSPrintSetup 插件进行静默打印。

演示使用 JSPrintSetup 设置打印边距和调用无人值守打印方法(无打印对话框)的示例代码。

// set portrait orientation
jsPrintSetup.setOption('orientation', jsPrintSetup.kPortraitOrientation);
// set top margins in millimeters
jsPrintSetup.setOption('marginTop', 0);
jsPrintSetup.setOption('marginBottom', 0);
jsPrintSetup.setOption('marginLeft', 0);
jsPrintSetup.setOption(' marginRight', 0);
// set empty page header
jsPrintSetup.setOption('headerStrLeft', '');
jsPrintSetup.setOption('headerStrCenter', '');
jsPrintSetup.setOption('headerStrRight', '');
// set empty page footer
jsPrintSetup.setOption('footerStrLeft', '');
jsPrintSetup.setOption('footerStrCenter', '');
jsPrintSetup.setOption('footerStrRight', '');
// Suppress print dialog
jsPrintSetup.setSilentPrint(true);
// Do Print
jsPrintSetup.print();
// Restore print dialog
jsPrintSetup.setSilentPrint(false);

【讨论】:

    【解决方案2】:

    详细说明 Pekka 在挖掘什么。如果您将 PHP 作为本地语言运行,而不是通过 Web 运行,您可以直接访问本地系统并在足够低的级别上使用打印那些 DOS 文本文件的程序以您想要的方式打印。

    但我怀疑你的意思是通过网络,在这种情况下,答案是肯定的。

    【讨论】:

    • 嗯,我不认为这些程序可以方便打印那些复杂的报告等。但我可以处理仅由 foxpro 和所有其他界面/交互完成的报告的想法(尽管看起来不是最好的)由 PHP/web 提供。
    【解决方案3】:

    EPSON ESC/P 控制代码 在您的软件中选择 EPSON ESC/P 打印机允许您使用高级字体和图形。 一般操作:

    ESC @, ESC U 进纸:

    FF、LF、ESC 0、ESC 1、ESC 2、ESC 3、ESC A、CR 页面格式:

    ESC (C, ESC C, ESC C 0, ESC Q, ESC l, ESC (c, ESC N, ESC O, ESC (U 打印位置运动:

    ESC $, ESC \, ESC D, HT, ESC B, VT, ESC J 字体选择:

    ESC k,ESC x,ESC y,ESC P,ESC M,ESC g,ESC p,ESC 4,ESC 5,ESC E,ESC F,ESC! 字体增强:

    ESC W, DC4, SO, DC2, SI, ESC w, ESC G, ESC H, ESC T, ESC S, ESC - 间距:

    ESC 空格 字符处理:

    ESC t, ESC (t, ESC R, ESC %, ESC &, ESC :, ESC I, ESC 6, 电调 7 位图:

    ESC K、ESC L、ESC Y、ESC Z、ESC *、ESC ^ 条码:

    ESC (B

    IBM PPDS 仿真控制代码 此打印机使用以下命令模拟 IBM Proprinter。有关详细信息,请参阅 IBM PPDS 参考手册。 一般操作:

    NUL, DC3, ESC j, BEL, CAN, DC1, ESC Q, ESC [ K, ESC U 进纸:

    FF, LF, ESC 5, ESC A, ESC 0, ESC 1, ESC 2, ESC 3, CR, ESC] 页面格式:

    ESC C、ESC C0、ESC X、ESC N、ESC O、ESC 4 打印位置运动:

    ESC d, ESC R, ESC D, HT, ESC B, VT, ESC J 字体选择:

    DC2, ESC P, ESC :, ESC E, ESC F, ESC I, ESC [d, ESC [I 字体增强:

    DC4, SO, ESC SO, ESC W, ESC [@, SI, ESC SI, ESC G, ESC H, ESC T, ESC S, ESC -, ESC _ 间距:

    BS、SP 字符处理:

    ESC 6, ESC 7, ESC [ T, ESC ^, ESC ¥ 位图:

    ESC K、ESC L、ESC Y、ESC Z 条码:

    ESC [f, ESC [p 下载:

    ESC =

    【讨论】:

      猜你喜欢
      • 2013-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-26
      • 1970-01-01
      • 2015-11-27
      • 1970-01-01
      相关资源
      最近更新 更多