如何发送打印(许多)目录中的选定文件,而不是一个接一个地打印?


10

我正在使用Ubuntu 12.04,并且成功安装了wi-fi打印机,但我的问题是:如何一次打印多个文件?我的意思是,我在一个文件夹中有许多PDF或文本文件,我想将它们直接发送到打印机,而不是在文件查看器中一个一个地打开,然后进行打印,然后重复整个过程这么多次/:

右键单击文件或在“文件”菜单中,甚至看不到“打印”选项。

谢谢!

Answers:


4

创建文件:〜/ .local / share / applications / print.desktop放入:

[Desktop Entry]
Encoding=UTF-8
Name=Print Directly
Comment=Print file directly with default printer.
Exec=lp %f
Type=Application
Icon=/usr/share/pixmaps/gnome-applets.png
MimeType=text/plain;text/pdf;application/pdf;application/x-pdf

右键单击任何pdf文件,在“打开方式...”中查看pdf文件可用应用程序的扩展列表。找到“直接打印”条目并添加关联。从现在开始,您可以右键单击任何pdf文件(或组),然后使用lp命令在默认打印机上进行打印。如果要进行实验,请安装CUPS-PDF打印机,并将其在打印机设置中设置为默认值。

sudo apt-get install cups-pdf

您将把测试文件“打印”到〜/ PDF文件夹中。


4

我已经完成了一个脚本,该脚本会将所需的文件发送到默认打印机:您可能需要对其进行修改,以选择folder文件所在的位置.pdf,然后针对.txt:运行一次
find /home/mike/KeyGuides/ -type f -iname '*.txt' -print0 | while IFS= read -r -d '' f; do lpr "$f"; done。正如我刚刚测试过的那样,它确实可以工作。只需确保将所需的打印机设置为默认打印机即可。

如果您有任何问题,请查看是否可以根据需要进行修改。(如果需要,您可以对lpr使用其他选项-请参阅man lpr)它应该适用于大多数打印机-我的佳能IP4700可以成功使用。

此版本的脚本还将每个打印的文档移动到一个目录(您必须先前已创建),以便在运行脚本时仅打印新文档:

find /home/mike/Duck/ -type f -iname '*.txt' -print0 | while IFS= read -r -d '' f;
 do lpr "$f" && mv "$f" /home/mike/Duck/printed/ ; done

嗨:谢谢您的建议,但是如果我要打印许多文件但不打印该目录上的所有文件怎么办?那就是我想做的,因为当我将新文件保存到该目录时,我只会打印新文件。希望我能解释得很好:)
奥斯卡

这确实是与最初询问的问题不同的问题,但是我将看看我是否可以使用该脚本执行某些操作-仅打印尚未打印的脚本可能会很棘手;尽管我们可以做的只是添加一个命令,以便在打印每个文档后将其移至指定的文件夹。应该可以将其插入while循环中。

请注意,lpr仅适用于纯文本。例如,如果这是关于PDF的,则必须使用另一个工具将打印作业发送到CUPS。
Cumulus007

嗨,不是那么不同的问题,这就是为什么我在问题的名称中放入“很多”和“选定的”,以便可以是全部或其中一些:D OK,希望您找到解决方案。非常感谢!
奥斯卡

1
lpr可以和pdfs一起使用-命令lpr bash_FAQ.pdf可以完美地打印出来。


0

这不是针对Ubuntu Linux操作系统的直接解决方案:

  • 尝试使用Google的服务:Google-云打印。但是不确定是否有一个单步多任务选项

另外,一个更复杂的解决方案:

安装nautilus-actions套件

执行Nautilus Actions Settingsfrom System> Preferences菜单并添加一些操作:

动作标签

鹦鹉螺项目

上下文标签:打印

在选择上下文菜单中显示项目

在位置上下文菜单中显示项目(不需要)

动作属性:已启用

命令标签

个人资料标签:

默认命令:

路径:lp

参数:%M(单击图例按钮以查看其他信息)

编辑其他选项卡的信息,就像您希望鹦鹉螺的表现一样。

保存操作,然后重新启动nautilus。

您的上下文菜单将显示“打印” ...

资料来源:UbuntuForums

使用简单的方法:

打开一个终端,键入lpr并在其前面放置一个空格。然后将要打印的文件拖放到终端上。


嗨,我按照指示在Nautilus中添加了操作和命令,右键单击文件但没有任何反应时出现了菜单/:终端方法确实起作用,但是在打印pdf文件时,生成的打印页面具有其他字体,而不是您所使用的字体在打开遮阳板时查看。
奥斯卡

对不起,但这不是我自己的知识。我在某些网站上着抓取我刚刚发布的信息。您应该在Nautilus案例中检查lp的文档。也许它不是针对您的打印机。
大卫·M·苏萨

0

CUPS的最新版本增加了直接打印pdf的功能。11.10和较新(可能更旧)的版本具有此功能。

另一种方法(我在双面(双面)打印仿真器程序包中使用)是对所有打印作业使用“打印到文件”,并将它们放在有效地成为您的个人打印队列的文件夹中。一旦它们存在,您就可以在需要时打印其中的一些或全部,并在完成后将其删除。

这样做还有一个好处,就是您可以在卡纸等之后重新运行作业,而无需从头开始创建。它还使您可以继续工作而无需停止管理打印机。

如果需要,您可以编写一个小的脚本,该脚本在后台运行并开始打印出现在打印队列中的内容。如果执行上述任何操作,则可能要命名打印作业,以便它们按希望打印的顺序在队列中排序。我只使用00 ... 99作为名称。

对于文本文件,请注意那些可能较长的文件。CUPS(至少默认情况下)不会为您自动换行,也不会设置漂亮的页边距。

我的双面打印系统的功能远远超出您的要求,但可能会给您一些想法。值得注意的是,它具有两个小的辅助脚本dprint和dprintm,它们在将文本发送到打印机之前先对其进行处理并对其进行驯服。

http://sourceforge.net/projects/duplexpr/

0

我知道这很老了-但现在修改的方式如我今天发现的那样:

您将需要安装filemanager-actions-它已经在我的系统上

sudo apt-get install filemanager-actions

接下来获得鹦鹉螺动作

sudo add-apt-repository ppa:dr3mro/nautilus-actions-extra
sudo apt-get update
sudo apt-get install nautilus-actions

打开FileManager-Actions并按照上面的步骤创建一个新的动作:

Action Tab
    Nautilus Item
        Display item in selection context menu (tick)
        Display item in location context menu (tick)
        Context Label : Print
        Display item in the toolbar (tick)
        Use same label for icon in the toolbar (tick)

Command Tab
    Profile
        Label: Default profile
    Command
        Path: lp
        Parameters: %f
        Working directory: %d

编辑其他选项卡的信息,就像您希望鹦鹉螺的表现一样。

保存操作,然后重新启动nautilus。

您的上下文菜单将显示“打印” ...

一些链接帮助我: LibreOffice打印 右键单击打印


-1

或使用Ruby :-)

sudo apt-get install ruby
irb
Dir.glob('*.*').each{ |f| `lp '#{ f }'` }
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.