国产(麒麟)linux将图片批量生成PDF的方法

国产(麒麟)linux将图片批量生成PDF的方法,第1张

笔者手里有一批国产linu系统,目前开始用在日常的工作生产环境中,我这个老程序猿勉为其难的充当运维的或网管的角色。

国产linux系统常见的为麒麟Linux,统信UOS等,基本都是基于debian再开发的linux。

问题描述:

windows下有多种软件可以轻松实现将批量生成PDF,比如利用虚拟打印机打印,比如利用niroPDF软件直接生成等,国产(麒麟)linux如何将批量生成PDF?

具体方法:

方法一,虚拟打印机的办法。

1 安装cups 和cups-pdf,其中cups-pdf是虚拟打印的主要模块:

sudo apt-get install cups-pdf

2 cups-pdf 要求 root 权限,所以设置一下权限:

sudo chmod 4755 /usr/lib/cups/backend/cups-pdf

3 用浏览器打开文件,选打印->打印到文件(这里可以设置目标文件路径)->OK

现在就得到了pdf格式的文件了

方法二,利用安装特殊浏览器批量生成PDF的办法,很多浏览器集成了将生成PDF文件的功能。

1、你需要安装一个免费的浏览管理器gThumb

sudo apt install gthumb

2、在需要批量将转换为PDF 的文件夹打开浏览管理器gThumb,全选后----》打印到文件------》输出格式为pdf即可,异常简单,不赘述。

密码错,请重试 ;密码输错,可重新输入。

注意:只可以连续刷3次,要是还没有输入正确此卡将被暂时冻结。

(一)POS终端和终端 *** 作员根据应答码采取相应的 *** 作,可以把 *** 作分为以下几类:

A : 交易成功

B : 交易失败,可重试

C : 交易失败,不需要重试

D : 交易失败, 终端 *** 作员处理

E : 交易失败,系统故障,不需要重试

注 1:如 39 域的内容不能在下表中找到,就显示“交易失败”

注 2:如POS交易的批次号和网络中心批次号不一致时应答码会填 “77”,此时POS机应当提示 *** 作员重新签到后再交易

(二)POS机:

1,POS(Point of sales)的中文意思是"销售点",全称为销售点情报管理系统,是一种配有条码或OCR码技终端阅读器,有现金或易货额度出纳功能。其主要任务是对商品与媒体交易提供数据服务和管理功能,并进行非现金结算。

2,POS是一种多功能终端,把它安装在xyk的特约商户和受理网点中与计算机联成网络,就能实现电子资金自动转帐,它具有支持消费、预授权、余额查询和转帐等功能,使用起来安全、快捷、可靠。大宗交易中基本经营情报难以获取,导入POS系统主要是解决零售业信息管理盲点。连锁分店管理信息系统中的重要组成部分。

当进入解压好的源码包后,使用/configure –help命令,可以获得相应帮助,那我们只要选取参数部分看看

-release

这个参数显而易见,就是编译Qt以发布版的模式进行,一般来说,最后系统完成后,库就应该是发布版。

-release

与上面对应,自然是调试版了,如果开发的话,可以选择它吧。

-debug-and-release

囧,上面那两个的儿子。

-developer-build

囧,我错了,开发者也可以用这个的,选了这个后,可以进行自动测试,不过还没去用过,以后可以研究研究。

-opensource

-commercial

这两个参数是指是编译是商业版本的,还是开源版本呢,视个人情况而定。

-shared

-static

这两个参数是指Qt的lib以动态还是静态编译生成,这自然也是视个人需要的。

-no-fast

-fast

这两个就很有关系,如果对自己的电脑性能很有信心,那就选第一个,那所有的工程文件都会生成到makefiles中,那编译的时间,估计可以看完变形金刚了。如果选第二个,那就加入子目录和库到makefiles,这样就能加快编译的速度。

-no-largefile

-largefile

顾名思义,支不支持大文件,一般来说,嵌入式里是不会有从超过4G的大文件的,那就选第一个吧。

-no-exceptions

-exceptions

计算机英语够好的人都该懂,这个自然就是异常情况,选则编译器支持抛出异常,否则不支持。

-no-accessibility

-accessibility

可访问性的支持,说实话,这个我真不知道有什么有用了。等哪天发现了,再来好好解释。

-no-stl

-stl

是都加入stl的支持,stl,这应该算是C++程序员应该都了解了,再不济,那也总听说过大名吧。

no-sql-<driver>

-qt-sql-<driver>

-plugin-sql-<driver>

这 个可要好好说明下,一般来说,对于一个优秀的项目开发,数据库是必不可少的,qt也自带了大多数数据库驱动,可以完美地支持数据库的使用。对于数 据库的使用,我们可以直接qt驱动编译进去,或者以插件的形式编译进去。一般来说,最简单地就是直接编译进去,但使用插件形式的可以更加灵活,针对不同的 需求将驱动插件添加。其中,<>代表的是驱动名,如果我想直接添加sqlite的支持话,形式如下:-qt-sql-sqlite。其他名称 可以自己查看参数里,有详细地介绍。

-system-sqlite

sqlite真受欢迎啊,当然那么优秀的嵌入式数据库,本人也是基本使用它来进行开发。这个参数意思是使用 *** 作系统上的sqlite数据库,如果是不太会移植的,可以考虑直接使用qt自带的驱动。

-no-qt3support

-qt3support

这个也是简洁易懂,加不加对qt3的支持。

no-xmlpatterns

-xmlpatterns

选择对xml的支持,如果对网络无需求的话,就不用加了。

-no-phonon

-phonon

phonon是qt中处理多媒体的模块,比如放放视频什么来着,不过本人从没用过,也是根据需要选择的。

-no-phonon-backend

-phonon-backend

与上面类似,只不过这两是以插件的形式加入支持。

-no-svg

-svg

是否加入svg的支持,svg即可缩放矢量图形。

-no-webkit

-webkit

是否加入webkit的支持,这可是个好东西,不过如果跟网络不搭界的话,还是不支持吧。

-no-scripttools

-scripttools

是否加入脚本工具的支持,这对php等脚本工程师来说是个很棒的参数,但对于我这样菜鸟,就别提了。

-platform target

目标平台,这可是关键了,如果不注意的话,编译出来是x86上的话,哪怕是再牛的嵌入式工程师来也没法帮你移植到开发板上。通常,本人是linux-arm-g++。

-no-mmx

-no-3dnow

-no-sse

-no-sse2

这四个参数是针对CPU的指令集,老实说,我也不甚了解,不过,对于开发并不是影响很大。

-qtnamespace

把qt的库封装到命名空间,没啥重要用处,依个人爱好加吧。

-qtlibinfix

将所有的qt的so库重命名,也没啥大用处。

-no-sql-<driver>

-qt-sql-<driver>

-plugin-sql-<driver>

-system-sqlite

这是相当明显的,如果这都看不出来,,囧,那您一定比我近视(本人800度近视。。)

就 是说如果是-no-XX-,就说明编译时不选择这个参数,如过是-qt-XX-,说明我们可以编译直接选用qt自带的驱动,如果是 -plugin-XX-,就是将驱动以插件形式编译,而-system-XXX,当然是使用 *** 作系统提供的驱动,不过那就需要您自己移植了,而且有时还要 用第三方的API,就方便来说非常麻烦,但是不排除您是牛人要好好玩玩的情况。

接下来,我们接着研究配置参数。

-qt-zlib

-system-zlib

想 必经过上面的讲解,参数的意思已经很快得知,就是选择qt带的zlib库还是系统的zlib。zlib库是用于文件和资料压缩的库,对于新入嵌入式的人来 说,可能并无太大的用处,但是在以后的实际开发中,特别是对于多媒体图像图形的工程师来说,就肯定用到,因为图形图像的压缩都要使用或涉及到这个库。

-no-gif

-qt-gif

这是选择gif的支持,如果选择qt支持的话,那在用qt开发的项目中,就能显示gif图,gif也是比较普遍的格式了,英文全称是Graphics Interchange Format。

-no-libtiff

-qt-libtiff

-system-libtiff

tiff是一种非常复杂的光栅图像格式,并且有直接现成的C语言实现库,因此选择参数时就有了qt和system,一般来说,科学相关的开发里可能会用到。

-no-libpng

-qt-libpng

-system-libpng

png的相关参数,一种非失真性压缩位图图形文件格式,其实就是为了替代gif搞出来的,也是随实际需要来选择,当然,也有C语言实现的库。

-no-libmng

-qt-libmng

-system-libmng

大汗,大汗,这可是超级罕见的东西,QT竟然也能支持,说实话,这个参数我看来就是无视的。MNG是多帧PNG动画格式,结构极其复杂,基本没人用。

-no-libjpeg

-qt-libjpeg

-system-libjpeg

jpeg,这么有名的格式也不用说了,随需要选择吧。

-no-openssl

-openssl

-openssl-linked

SSL,Security Socket Layer,是一个安全传输协议,在Internet网上进行数据保护和身份确认,而OpenSSL是一个开放源代码的实现了SSL及相关加密技术的软件 包,在qt中,我们可以选择直接支持,或者OpenSSL链接支持,这个参数也是为有需要者提供的。

以上是第三方库的参数选择,紧接着就是qt附加参数,在附加参数里,我们可以指定编译的部分及加入参数来获取信息。

-make

-nomake

一 句话,说明,就说我可以这两个参数选择哪些我要编译,哪些我不需要,在 libs tools examples demos docs translations这些里你可以选择,比如examples,并不重要,可以放在-nomake后,这样编译过程中就不会编译这部分了。通过适当的 选择,我们可以大大加快编译的速度,这对配置较差的机子来说有着积极意义。

-R <string>

-l <string>

这两个参数是为编译时增加一个库的运行路径及头文件的路径,比如使用tslib作为开发触摸驱动时,我们就应使用这两个参数来指定tslib的库路径和头文件路径。

-no-rpath

-rpath

这个参数比较难于理解,简单地说,就是告诉动态加载器,到-rpath指定的目录中寻找编译时须要的动态链接库,语法就与上面的参数结合,比如 -rpath -R/home/xxxx。

-continue

这个参数的作用就是当出现错误时依然进行配置编译,换我是不会加上的。

-verbose, -v

这个参数就很眼熟,在前面的文章中有过详细介绍,简言之,就是显示配置的每一步的具体信息。

-no-optimized-qmake

-optimized-qmake

是否编译生成优化过的qmake,没啥大用,也属于可有可无的参数。

-no-nis

-nis

是否编译NIS支持,NIS(网络信息服务)是一个提供目录服务的RPC(远程过程调用)应用服务,当然没网络需要的可以再次华丽地无视。

-no-cups

-cups

是 否编译CUPS支持,是不是想问什么用啊~~~~囧,开打印店用的。好了,不说冷笑话,CUPS给Unix/Linux用户提供了一种可靠有效 的方法来管理打印。它支持IPP,并提供了LPD,SMB(服务消息块,如配置为微软WINDOWS的打印机)、JetDirect等接口。CUPS还可 以浏览网络打印机。它的开发提供者是大名鼎鼎的“水果生产商”----苹果公司。

-no-iconv

-iconv

选择是否编译iconv支持,iconv是一个计算机程序以及一套应用程序编程接口的名称。它的作用是在多种国际编码格式之间进行文本内码的转换。这对跨语言Qt开发人员来说是很有用的,当然,考虑到中文的编码,我也选择加入支持。

-no-pch

-pch

是 否支持预编译过的头文件。预编译头就是把一个工程中的一部分代码,预先编译好放在一个文件里(通常以pch为扩展名),这个文件就称为预编译头 文件。这些预先编译好的代码在工程开发的过程中不会被经常改变。如果这些代码被修改,则需要重新编译生成预编译头文件。妈妈经常说:不懂就要学。我说:不 懂就加上。。。

no-dbus

-dbus

-dbus-linked

是否编译编译QtDBus模块。dbus是freedesktop下开源的Linux IPC通信机制,本身Linux 的IPC通信机制包括,管道(fifo),共享内存,信号量,消息队列,Socket等。在Qt中DBUS是有单独的模块的,可见其重要性。

-reduce-relocations 对于额外的库链接器优化,可以减少编译中的再定位。

no-separate-debug-info

-separate-debug-info

是否存储debug信息在debug,一般为了查错,还是选择存储吧。

-xplatform target

相当浅显的参数,即交叉编译的目标平台,一般来说根据你所要移植的目标板来确定。

-no-feature-<feature>

-feature-<feature>

选 取qte的feature编译,对于这个,我理解为特性,特性的描述你可以参考src/corelib/global/qfeaturestxt,在这 里面对于每个特性都有比较充分的讲解。对于特性地选择,也是要根据开发需求进行,如果裁剪适当,能大大为qte库瘦身。

-embedded <arch>

嵌入式平台架构选择,可以选择arm,mips,x86及generic,视你的目标平台决定吧。

-armfpa

-no-armfpa

这个参数也只是针对ARM平台的,是否加入对于基于ARM的浮点数格式的支持,通常,这个参数在编译时会自动选择。

-little-endian

-big-endian

目标平台的大端和小端选择,这应该是常识了,如果这不知道,就不要来混嵌入式了

-host-little-endian

-host-big-endia

主机平台的大端和小端选择,属于鸡肋的参数,不选择也会在配置时自动选择。

-no-freetype

-qt-freetype

-system-freetype

选择freetype,FreeType库是一个完全免费(开源)的、高质量的且可移植的字体引擎,它提供统一的接口来访问多种字体格式文件,在嵌入式开发中,有套可使用的字体对于中文开发至关重要,本人一般使用文泉驿字体。

-qconfig local

使用本地的qconfig配置文件来替代全部参数配置,有需要的可以去研究下,可以裁剪控件级别的参数。

-depths <list>

显示的像素位深,也是根据需要来进行吧。

-qt-decoration-<style>

-plugin-decoration-<style>

-no-decoration-<style>

这个是选择qt的样式风格,对于需要美化界面的项目来说,可以好好选择下。

-no-opengl

-opengl <api>

是否加入opengl的支持,OpenGL是个专业的3D程序接口,是一个功能强大,调用方便的底层3D图形库。不过对于一般的开发来说,似乎有很少用到的地方。

-qt-gfx-<driver>

-plugin-gfx-<driver>

-no-gfx-<driver>

这个是相当重要的一个参数,选择QtGui的图形显示驱动,比如我们在pc上使用qvfb模拟时,就应该加入对qfvb的支持。我们可以在 linuxfb,transformed,qvfb,vnc,multiscreen这几个中选择。在平常的开发板上,选择linuxfb即可。

-qt-kbd-<driver>

-plugin-kbd-<driver>

-no-kbd-<driver>

选择键盘的驱动支持,可以支持usb键盘,串口键盘等等,也是在tty,usb ,sl5000, yopy, vr41xx ,qvfb中选择。

qt-mouse-<driver>

-plugin-mouse-<driver>

-no-mouse-<driver>

鼠标的驱动支持,一般都会选择tslib,可以完美地支持触摸屏,在pc,bus,linuxtp,yopy,vr41xx,tslib,qvfb中选择吧。

-iwmmxt

加入iWMMXt指令的编译,也只是部分XScale架构才具有。

-no-glib

-glib

是否加入glib库的支持,glib库对应即gtk库,就也是说加入后可以使用gtk。

请不要忘记,吃完(喝完)后,把餐具(盘子,杯子,刀叉,调羹)还回这里。

please do not forget bring your tanblewares(plate、cup 、knife 、fork 、spoon) back here ,when you finish

因为英文当中吃完喝完都习惯用另一个词finish(用完餐)来代替,所以译文里面就只有一个括号

要注意哦,------“天,还有人用drink 和 eat ,哎~~不多说了,如果这个不重要的话,楼主你就随便选一个答案运用,但是如果楼主你要做到专业体面的话,请你不要用含有“eat ”和“drink”的译文

希望对你有帮助

1、安装有关Samba的RPM包(samba、samba-common、samba-client)

2、创建Samba用户

3、修改配置文件

4、重启samba服务

5、设置目录访问权限

6、测试

具体步骤如下:

1、安装RPM包(缺省情况下RHEL5安装了samba的相关软件包,可以用如下命令查看)

[root@localhost ~]#rpm -qa | grep samba

samba -----samba服务器程序的所有文件

samba-common -----提供了Samba服务器和客户机中都必须使用的公共文件

samba-client -----提供了Samba客户机的所有文件

samba-swat -----以Web界面的形式提供了对Samba服务器的管理功能

2、创建samba用户

[root@localhost ~]#smbpasswd -a user1 (“-a”是创建samba用户,“-x”是删 [root@localhost ~]#smbpasswd -a user2 除samba用户,“-d”是禁用samba用

[root@localhost ~]#smbpasswd -a user3 户帐号,“-e”是启用samba用户帐号)

3、修改配置文件

samba配置文件的位置:/etc/samba/smbconf

[root@localhost ~]#vim /etc/samba/smbconf

Vi大开配置文件后,首先介绍一下Samba服务器的安全级别,如图所示:系统默认设置“user”

Samba服务器的安全级别分为5种,分别是user、share、server、domain和ads。在设置不同的级别时,samba服务器还会使用口令服务器和加密口令。

1、user -----客户端访问服务器时需要输入用户名和密码,通过验证后,才能使用服务器的共享资源。此级别使用加密的方式传送密码。

2、share -----客户端连接服务器时不需要输入用户名和密码

3、server -----客户端在访问时同样需要输入用户名和密码,但是,密码验证需要密码验证服务器来负责。

4、domain -----采用域控制器对用户进行身份验证

5、ads -----若samba服务器加入到Windows活动目录中,则使用ads安全级别,ads安全级别也必须指定口令服务器

共享目录的配置

[homes] -----samba用户的宿主目录

comment = Home Directories -----设置共享的说明信息

browseable = no -----目录浏览权限

writable = yes -----用户对共享目录可写

这个共享目录只有用户本身可以使用,默认情况下,用户主目录位于/home目录下,每个Linux用户有一个以用户名命名的子目录。

以下是共享打印机的设置:

[printers] -----共享打印机

comment = All Printers -----设置共享的说明信息

path = /var/spool/samba -----指定共享目录的路径

browseable = no -----目录浏览权限

guest ok = no -----允许来宾访问

writable = no -----用户对共享目录可写

printable = yes -----可以打印

以上是系统默认设置

添加自定义的共享目录:( user1对/ASUS有所有权,user2拥有只读权限,其他用户不能访问;public共享目录允许所有用户访问及上传文件)

[ASUS]

comment = user1 Directories -----设置共享的说明信息

browseable = yes -----所有samba用户都可以看到该目录

writable = yes -----用户对共享目录可写

path = /ASUS -----指定共享目录的路径

[public]

comment = all user Directories -----设置共享的说明信息

browseable = yes -----所有samba用户都可以看到该目录

writable = yes -----用户对共享目录可写

path = /public -----指定共享目录的路径

guest ok = yes -----允许来宾访问

4、修改完配置文件后需要重启samba服务

[root@localhost ~]#service smb restart

Samba服务器包括两个服务程序

2 smbd

smbd服务程序为客户机提供了服务器中共享资源的访问

2 nmbd

nmbd服务程序提供了NetBIOS主机名称的解析,为Windows网络中域或者工作组内的主机进行主机名称的解析

5、设置目录权限

[root@localhost ~]#mkdir /ASUS ------创建要共享目录

[root@localhost ~]#mkdir /public ------创建要共享的目录

[root@localhost ~]#chmod 750 /ASUS ------修改/ASUS权限(属主拥有

所有权,属组只读,其它用户不能访问)

[root@localhost ~]#chown user1 /ASUS ------将/ASUS的属主改为user1

[root@localhost ~]#groupadd ASUS ------添加ASUS组

[root@localhost ~]#usermod –G ASUS user1 ------将user1加入到ASUS组

[root@localhost ~]#usermod –G ASUS user2 ------将user2加入到ASUS组

[root@localhost ~]#chgrp ASUS /ASUS ------将/ASUS的属组改为

ASUS

[root@localhost ~]#chmod 777 /public ------给所有用户分配完全控制

权限

配置完成后,还要检查/etc/service文件中以“netbios”开头的记录,正确的文件

记录如下所示,如果这些记录前有#或没有这些记录,应手工添加,否则用户无

法访问Linux服务器上的共享资源

6、测试

找一台内网windows客户端,打开“网上邻居 ”,输入samba服务器的IP点击

“搜索”

如图所示:已经搜索到

双击打开,如图所示:提示输入用户名和密码,先来输入user1的用户名和密码

作测试。

登录成功,

打开user1的宿主目录,此目录user1是拥有所有权限的,创建一个目录测试一

下,如图所示:可以创建

Public目录是允许任何用户上传、下载及删除文件,如图所示

User1对ASUS目录拥有完全控制权限,所以user1可以在此目录下作任何 *** 作

切换另一个用户测试,由于我们在同一台计算机上作测试,测试之前首先要清楚

计算机上的缓存,如图所示:打开 “命令提示符模式”,“net use /del ”是清

除计算机上缓存

重新打开网上邻居,找到Samba 服务器的共享资源,以user2的身份登录

以下几幅可以看到,user2对ASUS目录拥有只读权限,对public、user2目

录拥有所有权

再切换一个用户登录,记得要清除缓存哦,输入user3的用户名及密码

如图所示:user3无法访问ASUS目录

User3只对user3和public目录拥有所有权

歌曲:cups

(pitch

perfect's

when

i'm

gone)

歌手:anna

kendrick

所属专辑:mnm

big

hits

2013

volume

3

i

got

my

ticket

for

the

long

way

'round

我已为我的长途旅行做好准备

two

bottle

'a

whiskey

for

the

way

带上两瓶威士忌

and

i

sure

would

like

some

sweet

company

这会是我最好的伴侣

and

i'm

leaving

tomorrow,

wha-do-ya

say

明天我就要走了,你想对我说什么

when

i'm

gone

我要走了

when

i'm

gone

我要走了

you're

gonna

miss

me

when

i'm

gone

你会想我的

you're

gonna

miss

me

by

my

hair

想我的发香

you're

gonna

miss

me

everywhere,

oh

想我的每一点好

you're

gonna

miss

me

when

i'm

gone

你会想我的

when

i'm

gone

我要走了

when

i'm

gone

我要走了

you're

gonna

miss

me

when

i'm

gone

你会想我的

you're

gonna

miss

me

by

my

walk

想念我的妙曼身姿

you're

gonna

miss

me

by

my

talk,

oh

我的柔声细语

you're

gonna

miss

me

when

i'm

gone

你会想我的

i've

got

my

ticket

for

the

long

way

'round

我做好准备了

the

one

with

the

prettiest

of

views

去看这这世界最美的风景

it's

got

mountains,

it's

got

rivers,

it's

got

sights

to

give

you

shivers

我会在朋友圈发照片给你看这俊美山河

but

it

sure

would

be

prettier

with

you

但我还是希望和你一起旅行

when

i'm

gone

我要走了

when

i'm

gone

我要走了

you're

gonna

miss

me

when

i'm

gone

你会想我的

you're

gonna

miss

me

by

my

walk

想我的妙曼身姿

you're

gonna

miss

me

by

my

talk,

oh

我的柔声细语

you're

gonna

miss

me

when

i'm

gone

你会想我的

when

i'm

gone

我走了

when

i'm

gone

我走了

when

i'm

gone

我走了

you're

gonna

miss

me

when

i'm

gone

你会想我的

you're

gonna

miss

me

by

my

hair

想我的发香

you're

gonna

miss

me

everywhere,

oh

我的每一点好

you're

gonna

miss

me

when

i'm

gone

你会想我的

when

i'm

gone

我走了

when

i'm

gone

我走了

you're

gonna

miss

me

when

i'm

gone

你会想我的

you're

gonna

miss

me

by

my

walk

想我的妙曼身姿

you're

gonna

miss

me

by

my

talk,

oh

我的柔声细语

you're

gonna

miss

me

when

i'm

gone

我走后

你会想我的

以上就是关于国产(麒麟)linux将图片批量生成PDF的方法全部的内容,包括:国产(麒麟)linux将图片批量生成PDF的方法、pos机出现“cups:55”是什么意思、qt怎么自动选择配置的define参数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9771842.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存