【问题标题】:Flex problem in saving PDF at server在服务器上保存 PDF 时出现 Flex 问题
【发布时间】:2009-07-08 10:51:45
【问题描述】:

我是一只新来的蜜蜂。 我想要做的是在服务器上生成并保存布局设计,除了画布之外什么都没有。目前我可以在浏览器中显示pdf(见下面的函数:)但不能在服务器上保存文件。

  private function continueToPdf():void{
            myPDF = new PDF(  Orientation.LANDSCAPE, Unit.MM, Size.A4 );
            myPDF.setDisplayMode ( Display.FULL_WIDTH ); 
            myPDF.addPage();
            myPDF.addImage(layout_cnv);
            myPDF.save( Method.REMOTE, "http://flexindia.org/designtool/upload/create.php",Download.INLINE ,"drawing.pdf" );
     }

其中 layout_cnv 是一个画布。我也为此使用 AlivePDF.swc 图书馆。 服务器上的php文件是create.php

                   <?php
                 $method = $_GET['method'];
                 $name = $_GET['name'];

                 if ( isset ( $GLOBALS["HTTP_RAW_POST_DATA"] )) {

// get bytearray
$pdf = $GLOBALS["HTTP_RAW_POST_DATA"];

// add headers for download dialog-box
header('Content-Type: application/pdf');
header('Content-Length: '.strlen($pdf));
header('Content-disposition:'.$method.'; filename="'.$name.'"');
echo $pdf;

     }  else echo 'An error occured.';

           ?>

谁能帮帮我。

【问题讨论】:

  • 我很困惑。客户端是flex,服务器端是php。谁需要保存pdf,客户端还是服务器?
  • 只需要在服务器端保存。

标签: php apache-flex pdf adobe pdf-generation


【解决方案1】:

我不熟悉 AlivePDF 库,但 WebORB PDF 生成器非常适合这项任务(我不隶属于 The Midnight Coders 或 WebORB,只是提出建议。)

http://www.themidnightcoders.com/products/pdf-generator/overview.html

【讨论】:

    【解决方案2】:

    几天后,我终于找到了解决上述问题的方法。 在这里,为了在服务器上本地保存文件,我只需要对以下函数进行一些更改:

          private function continueToPdf():void{
                        myPDF = new PDF(  Orientation.LANDSCAPE, Unit.MM, Size.A4 );
                        myPDF.setDisplayMode ( Display.FULL_WIDTH ); 
                        myPDF.addPage();
                        myPDF.addImage(layout_cnv);
                        myPDF.save( Method.REMOTE, "create.php",Download.INLINE ,"drawing.pdf" );
                     }
    

    其中create.php是定义如下的服务器脚本:

         <?php
    
          $fp = fopen( 'upload/drawing.pdf', 'wb' );
           fwrite( $fp, $GLOBALS['HTTP_RAW_POST_DATA' ] );
           fclose( $fp ); 
           ?>
    
        cheers :-) !!!
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-12
      • 2018-02-20
      • 1970-01-01
      • 2020-03-22
      • 1970-01-01
      • 2014-12-23
      • 2010-10-11
      • 2012-10-18
      相关资源
      最近更新 更多