lambda-pdftk-example, 在AWS的Lambda中,运行PDFtk的示例项目

分享于 

3分钟阅读

GitHub

  繁體 雙語
Example project that runs PDFtk in AWS Lambda.
  • 源代码名称:lambda-pdftk-example
  • 源代码网址:http://www.github.com/lob/lambda-pdftk-example
  • lambda-pdftk-example源代码文档
  • lambda-pdftk-example源代码下载
  • Git URL:
    git://www.github.com/lob/lambda-pdftk-example.git
    Git Clone代码到本地:
    git clone http://www.github.com/lob/lambda-pdftk-example
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/lob/lambda-pdftk-example
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    库 Lambda + PDFtk示例

    这个库提供了一个在AWS中使用PDFtk的工作示例。 AWS在 Amazon Linux上运行,它不正式支持PDFtk或者 GCJ,PDFtk的依赖之一。 本示例通过包括PDFtk二进制和libgcj共享库。

    运行示例

    要运行该示例,首先运行以下命令将该项目打包为一个ZIP文件:

     
    ./dist.sh
    
    
    
     

    然后,只需将这个ZIP文件上传。 在使用 Lambda web接口测试时,应该看到pdftk和版权信息的功能成功和输出版本。

    你可以很容易地扩展这个模板,并使用PDFtk的方式来操作PDF文件。

    工作原理

    AWS支持二进制依赖,允许将它们包括在已经上传的ZIP文件中。 但是,因为亚马逊Linux不支持PDFtk或者 of,所以PDFtk是从sdl中的源代码构建的,一个。 我在EC2中安装了CentOS机器,并按照 PDFtk网站上的说明构建了从源代码构建 PDFtk。

    
    sudo yum install gcc gcc-java libgcj libgcj-devel gcc-c++
    
    
    
    wget https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/pdftk-2.02-src.zip
    
    
    
    unzip pdftk-2.02-src.zip
    
    
    
    cd pdftk-2.02-dist/pdftk
    
    
    
    make -f Makefile.Redhat
    
    
    
    sudo make -f Makefile.Redhat install
    
    
    
    

    然后我将得到的pdftk 二进制和 /usr/lib64/libgcj.so.10 共享库复制到我的Lambda项目的bin/ 目录。

    进入lambda函数的入口点 index.js 改变 PATHLD_LIBRARY_PATH 环境变量,让系统知道在哪里找到二进制和GCJ依赖项。

    在 Amazon Linux中使用 PDFtk

    应该可以在这个文件的bin/ 目录中使用PDFtk二进制和GCJ共享库来在EC2上运行 PDFtk。 直接将它们复制到机器上,并将它们放在正确的路径中,或者直接调用它们:

    
    LD_LIBRARY_PATH=/path/to/libgcj.so.10/path/to/pdftk --version
    
    
    
    

    proj  PDF  aws  Lambda  aws-lambda  Pdftk  
    相关文章