`
sealbird
  • 浏览: 583886 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

借助 unoconv 批量转 xls 到 pdf文件

    博客分类:
  • Flex
阅读更多
文章分类:Web前端 
因为公司的一些业务需求,我需要批量的将所有的xls文件转化为pdf文件,如果一个个的点击,借助于adobe,那么无疑会需要很长的时间;相信这样子的业务需要肯定有市场的,这也意味着肯定存在这样子的软件。 

       网上搜索了很多软件,竟然发现这样子的软件多数为收费软件,或者存在免费软件,但是批量转的文件数量受到限制,而且转的效果并不是十分理想。 

        想到openoffice可以直接导出为pdf文件的功能,我想一定可以通过openoffice批量的将excel转为pdf。在网上搜索发现,debian系列的liunx源里面存在一个名叫unoconv的包,可以批量的将exce转为pdf,关键是转的速度很快,而且质量很高!好的,就用这款软件来实现吧。 

        由于公司封锁了多数文件的下载,我试验反复没有成功,让同事帮忙下载的文件,安装好以后也没有效果(我使用的是fedora,并且unoconv有rpm的包),就在我一筹莫展的时候,我发现原来下载的文件是不正确的(名字都可以看出来)。 

         从新下载几百k的小rpm包,成功安装。 
新建excel文件,保存为a.xls, 
在终端运行 unconv -f pdf a.xls 
几秒钟后,转化成功。 

     如果有中文文件是不是可以完美的转为pdf?!带着疑问,我重新测试,good!如果多个文件的效率呢?不断的粘帖,等到了一百个文件左右的时候,重新运行,如此的高效,perfect! 

      至此,我已经完成了自己的一大心愿。 

      所以,如果你在为快速的转任何office文档,txt文档到pdf而发愁的话,那么,我推荐你使用linux(主要是debian系列和redhat系列的linux)和openoffice完美的解决这所有的问题。 

       另外,我发现unoconv是用python实现的,这也意味着两个跨平台的工具(openoffice和python)结合在一起,必然也可以产生跨平台的的windows版,只是我现在水平较弱,还没有实现,期待高手给出windows版的解决方案。




批转换,带目录树
参考链接 http://bbs.chinaunix.net/archiver/?tid-1378949.html


引用
wenyunqiu 发表于 2009-02-25 16:36

请教:如何批量将Doc文件转换为Pdf文件?
要转换一个doc文件为PDF格式,只需在命令中执行:

$ unoconv -f pdf myDoc.doc
即会生成一个名为myDoc.pdf的pdf文件。

现在我需要将一个目录树下面所有的doc文件转化为pdf的文件副本    保留原文件     然后保持文件目录结构不变  
程序怎样写最高效最美观(文件很多很多)
waker 发表于 2009-02-25 16:39

看看基础12篇中的find和xargs
我是DBA 发表于 2009-02-25 16:41

for i in `ls`
do
unoconv -f pdf $i
done
haimming 发表于 2009-02-25 16:46

find ./ -name "*.doc" -exec unoconv -f pdf {} \;
liaosnet 发表于 2009-02-25 16:48

:em17: :em17:
for i in * 
do
    unoconv -f pdf ${i}.doc
done

kwokcn 发表于 2009-02-25 16:51

引用
原帖由 haimming 于 2009-2-25 16:46 发表
find ./ -name "*.doc" -exec unoconv -f pdf {} \;

LZ提到了是目录树,这个应该是正解。
haimming 发表于 2009-02-25 16:51

回复 #5 liaosnet 的帖子
dx,忘了目录结构了:mrgreen: :mrgreen:
ywlscpl 发表于 2009-02-25 16:53

for i in `ls *.doc`
do
    unoconv -f pdf $i
done
ywlscpl 发表于 2009-02-25 16:54

恩,多层目录的话得用find
liaosnet 发表于 2009-02-25 16:58

引用
原帖由 haimming 于 2009-2-25 16:51 发表
dx,忘了目录结构了:mrgreen: :mrgreen:

额...那就得用find了..

find . -type f -name "*.doc" | xargs unoconv -f pdf
飞鸿无痕 发表于 2009-02-25 21:52

回复 #10 liaosnet 的帖子
严重同意!!!!!!!!!
dashan79 发表于 2009-02-26 10:32

unoconv  linux不带的,需要下载一个吧。?
liaosnet 发表于 2009-02-26 10:49

引用
原帖由 dashan79 于 2009-2-26 10:32 发表
unoconv  linux不带的,需要下载一个吧。?


:em17: :em17: 自己装的~
wtuter 发表于 2009-02-26 14:39

回复 #13 liaosnet 的帖子
我的也没有,那个版本的linux有自带的吗?
wenyunqiu 发表于 2010-04-09 14:36

debian是源包安装的 
红帽似乎得下载安装    我只试过debian上的     批量转换文档格式确实很快很方便
709101040516 发表于 2010-04-09 14:52

linux 下安装包谁能提供一下呢。这样就省得用windows的了。
wenyunqiu 发表于 2010-04-09 14:56

http://dag.wieers.com/rpm/packages/unoconv/
这是redhat的     这命令依赖openoffice      在红帽上我转化不成功      其它哪位试出来共享一下方法
wgyzhechao 发表于 2010-04-09 14:57

find ./ -type f -exec unoconv -f pdf {} \;
yigenjin 发表于 2010-04-09 15:20

引用
for i in `ls`
do
unoconv -f pdf $i
done
我是DBA 发表于 2009-02-25 16:41



我同意5楼的做法。

你知道你这个`ls`的后果么?

后果就是很多文件名中存在空格的文件将不能正确地被处理。


页: [1]
分享到:
评论

相关推荐

    Python-unoconv在LibreOfficeOpenOffice支持的任意文件格式之间进行转换

    Unoconv 是一个强大的 Python 脚本工具,它利用 LibreOffice 或 OpenOffice 的内在转换能力,在各种文件格式间进行转换。这个工具对于处理文档转换需求非常有用,特别是当你需要批量转换大量文件时。下面我们将深入...

    WORD批量转PDF.rar

    在批量转换Word到PDF的过程中,批量替换可能涉及到对源文件的预处理,比如统一格式、修正错别字或者更新某些通用信息,确保生成的PDF文件内容准确无误。 转换Word到PDF的方法有多种,包括使用专门的转换工具、在线...

    利用 unoconv 转换失败文档

    unoconv 是一个开源命令行工具,它利用 LibreOffice 或 OpenOffice 的能力来转换各种文档格式,如 .doc、.xls、.ppt 等,支持多种格式之间的互相转换。它特别适用于自动化脚本和批量转换任务。 首先,我们需要理解 ...

    php版unoconv-master用于将word转为pdf

    Unoconv支持多种输入格式,如.doc、.docx、.xls、.xlsx等,以及多种输出格式,如.pdf、.odt、.txt等。由于转换过程是通过实际的文档处理软件执行的,所以 Unoconv 能够保持文档的原始格式和布局。 现在,让我们关注...

    php版本 office文档(word,ppt,excel)转pdf转swf(加水印),实现在线预览

    4. **PDF转SWF**:使用`unoconv`工具,将生成的PDF文件转换为SWF格式,SWF是Adobe Flash Player支持的格式,适合在线预览。转换过程中,可以设置输出的SWF质量、尺寸等参数。 5. **部署和预览**:将转换后的SWF文件...

    Linux服务上实现在线预览PPT,PPTX,DOC,DOCX,XLS,XLSX文件安装插件详细步骤

    ### Linux服务上实现在线预览PPT/PPTX/DOC/DOCX/XLS/XLSX文件的安装插件详细步骤 #### 环境准备 本文档主要介绍如何在Linux服务器上实现各种常见文档(包括PPT、PPTX、DOC、DOCX、XLS、XLSX)的在线预览功能。此...

    unoconv-0.5-1.el6.rf.noarch.rpm(unoconv命令插件,Linux,把文件pdf、work、jpg等格式互相转换)

    unoconv-0.5-1.el6.rf.noarch.rpm,unoconv命令插件,Linux,把文件pdf、work、jpg等格式互相转换 安装方法: yum -y install libreoffice* yum -y install unoconv-0.5-1.el6.rf.noarch.rpm

    excel转pdflinux下字体

    这篇内容将详细介绍如何在Linux下解决Excel到PDF转换时的字体问题。 首先,我们需要理解Excel和PDF之间的字体处理差异。Excel是一种电子表格软件,它依赖于用户计算机上安装的字体来渲染文本。而PDF(Portable ...

    Linux下xlsx文件转txt文件.docx

    在Linux环境下,对微软Office格式的文件,如PPT、PPTX、DOC、DOCX、XLS和XLSX进行在线预览和转换是一项常见的需求。本文将介绍如何在CentOS 7.4系统上配置环境并实现xlsx文件转换为txt文件。 首先,我们需要知道...

    解决Linux下PDF文件预览问题

    在Linux操作系统中,预览PDF文件可能不像在Windows或macOS那样直观,因为默认的桌面环境可能不包含内置的PDF查看器。然而,借助开源工具和技术,我们可以轻松地解决这个问题。这里我们将介绍一种方法,利用名为`...

    linux服务器上word转pdf文件

    - 转换命令:运行`unoconv -f pdf input.docx`,这将把Word文档转换为同名的PDF文件。 3. **使用Google Docs** 如果服务器可以访问互联网,可以利用Google Docs的在线转换功能。 - 将Word文档上传到Google ...

    基于Unoconv、Go的文件转化服务.zip

    基于Unoconv、Go的文件转化服务Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go...

    tfk-api-unoconv:Unoconv作为Web服务

    运行图像$ docker run -d -p 80:3000 --name unoconv-webservice unoconv-webservice用法将要转换的文件发布到服务器,并获取转换后的文件作为回报。 在上查看所有可能的转换。 该Web服务的API是/ unoconv / {...

    Unoconv-Promise:带有Promise的Node.js包装器,用于使用unoconv转换文档

    Unoconv承诺 这是一个Node.js包装器... 将文档文件转换为PDF并作为缓冲区返回 const unoconv = require ( "unoconv-promise" ) ; unoconv . convert ( "./mydoc.doc" ) . then ( fileBuffer => { // Converted fi

    wps转pdf.rar

    在Linux环境中,通过命令行调用unoconv并指定输入文件和输出文件,即可实现WPS到PDF的转换。 7. **文件名 "wps2pdf"**: 这个文件可能是实现WPS到PDF转换的PHP脚本或者是一个批处理文件,用于在Windows环境下通过COM...

    word文档转pdf

    总的来说,"word文档转pdf"涉及到的技术主要包括文件格式解析(如`python-docx`)、文件格式生成(如`PyPDF2`、`pdfkit`或`ReportLab`)、操作系统级别的接口调用(如Linux的`libreoffice`命令),以及可能的图形...

    JAVA实现Linux中word转换pdf

    - 或者,如果你选择使用命令行工具,如`unoconv`或`libreoffice`,可以在Java中通过Runtime.exec()执行这些命令,将Word文件转换为PDF。这通常会更简单,因为你只需处理命令的输入和输出。 5. **引入Jar包**: ...

    Excel格式转换PDF格式DEMO

    这通常涉及到打开Excel文件,指定输出的PDF路径,然后触发转换操作。 4. 实现转换逻辑:具体的转换代码会根据所使用的编程语言和库有所不同,但核心逻辑是调用OpenOffice的转换服务,例如在Java中使用JODConverter...

    ppt转pdf程序代码

    1. 使用API或库:许多编程语言如Python、Java和C#都有库或API可以直接操作Office文件,例如Python的`python-pptx`用于读取PPT,`pdfkit`或`weasyprint`用于HTML到PDF的转换。你可以先用这些工具将PPT内容导出为HTML...

    linux环境word转pdf所需字体

    5. **脚本自动化**:对于批量转换需求,可以编写Shell脚本自动化这个过程,例如使用`unoconv`命令行工具,它基于LibreOffice,可以方便地批量转换文件。 6. **字体授权**:在安装和使用字体时,要注意字体的授权...

Global site tag (gtag.js) - Google Analytics