当前位置:  开发笔记 > 编程语言 > 正文

Web应用程序中的"无声"打印

如何解决《Web应用程序中的"无声"打印》经验,为你挑选了4个好方法。

我正在开发一个需要静默打印的Web应用程序 - 没有用户参与.实现这一目标的最佳方法是什么?它不喜欢它可以严格使用Javascript,也不是Flash和/或AIR.我见过的最接近的是Java applet.

我可以理解为什么只有任何一个网站能够做到这一点是一个坏主意.此特定实例适用于内部应用程序,如果用户需要将URL添加到受信任站点列表,安装插件等,则完全可以接受.



1> 小智..:

以下是您需要执行的操作,以便在不显示打印首选项对话框的情况下立即打印Firefox.

    在Firefox的位置栏中输入about:config并按Enter键.

    右键单击页面上的任意位置,然后选择New> Boolean

    输入首选项名称print.always_print_silent,然后单击"确定".


我发现它在某个地方,它帮助了我


IE和Chrome怎么样?

2> Cedric..:

正如@Axel所写,Firefox有print.always_print_silent选项.

对于Chrome,请使用该--kiosk-printing选项跳过"打印预览"对话框:

编辑用于启动Chrome的快捷方式,然后添加"--kiosk-printing",然后重新启动Chrome.

注意:如果它不起作用,很可能是因为你没有完全停止Chrome,退出并重新登录肯定会有效.



3> Espo..:

您可以尝试以下两个代码示例:

1:




2:

if (navigator.appName == "Microsoft Internet Explorer")
{ 
  var PrintCommand = '';
  document.body.insertAdjacentHTML('beforeEnd', PrintCommand); 
  PrintCommandObject.ExecWB(6, -1); PrintCommandObject.outerHTML = ""; 
} 
else { 
  window.print();
} 

您可能需要将要测试的站点/页面添加到本地Intranet区域.



4> Iannazzi..:

我们遇到了类似的问题.我们需要将支票打印到支票打印机,将标签打印到标签打印机,并将客户发票打印到零售店embrasse-moi的发票打印机.我们有虚拟计算机,角落,ipads,没有打印功能的iphone.打印发票功能基本上是一个无声的打印.将pdf写入服务器,并在本地使用shell脚本来检索和打印.

我们使用以下内容实现了最小库的完美解决方案:

    在PHP中使用TCPDF来创建PDF.将PDF存储在服务器上.将它放在"打印队列"文件夹中.对于TCPDF的称赞,有点难学,但SICK SICK SICK.请注意,我们使用avery 5167每页打印80个标签,条形码具有完美的准确性.我们有标签,支票和发票打印队列.不同的文件夹主要针对不同的打

    使用附带的shell脚本通过FTP连接到服务器,下载PDF,从服务器上删除PDF,将PDF发送到打印机,然后再删除PDF.

    使用连接到打印机的本地计算机,在终端中运行脚本.显然修改您的打印机和路径.

    因为你总是希望这个运行,并且因为你使用MAC,所以使用automator创建一个'app'.启动automator,将脚本放入"运行shell脚本"并保存.然后将该应用程序粘贴在登录项中.如果要查看MAC上的"输出"窗口,请参阅shell脚本下面的脚本.

BAM - 生病了.

这是shell脚本

#!/bin/bash

# Get a remote directory Folder
# List the contents every second
# Copy the files to a local folder
# delete the file from server
# send the file to a printer
# delete the file
# compliments of embrasse-moi.com


clear               # clear terminal window

echo "##########################################"
echo "Embrasse-Moi's Remote Print Queue Script"
echo "##########################################"

#Local Print Queue Directory
COPY_TO_DIRECTORY=/volumes/DATA/test/
echo "Local Directory: $COPY_TO_DIRECTORY"
#Priter
PRINTER='Brother_MFC_7820N'
echo "Printer Name: $PRINTER"

#FTP Info
USER="user"
PASS="pass"
HOST="ftp.yourserver.com"
#remote path
COPY_REMOTE_DIRECTORY_FILES=/path
echo "Remote Print Queue Directory: $HOST$COPY_REMOTE_DIRECTORY_FILES"

echo 'Entering Repeating Loop'
while true;  do

    #make the copy to directory if not exist
    echo "Making Directory If it Does Not Exist"
    mkdir -p $COPY_TO_DIRECTORY
    cd $COPY_TO_DIRECTORY

    ######################### WGET ATTEMPTS ############################################
    #NOTE wget will need to be installed
    echo "NOT Using wget to retrieve remote files..."

    # wget --tries=45 -o log --ftp-user=$USER --ftp-password=$PASS ftp://ftp.yourserver.com$COPY_REMOTE_DIRECTORY_FILES/*.pdf

    ######################### FTP ATTEMPTS ############################################
    echo "NOT Using ftp to retrieve and delete remote files..."
    #This seems to fail at mget, plus not sure how to delete file or loop through files
    ftp -n $HOST <

和automator脚本,如果你想看到输出,保持应用程序与脚本选择运行苹果脚本选项:

on run {input, parameters}

    tell application "Finder" to get folder of (path to me) as Unicode text
    set workingDir to POSIX path of result
    tell application "Terminal"
            do script "sh " & "'" & workingDir & "script1.sh" & "'"

    end tell

    return input
end run

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有