导出的 pdf 文件的用户定义名称?

User defined names for exported pdf files?

用户可以在 amcharts 中为导出的 PDF 文件定义 his/her 自己的文件名吗?目前默认名称是 amCharts.pdf.

参考 link AmCharts Export Config,我看到用户可以通过编程方式更改使用的默认文件名,但是他无法在导出时在 运行 时定义文件名因为 pdf 是 clicked.Is 可以这样做吗?

您可以使用 menuReviver 附加另一个 click event handler 以使用提示模式中断运行时以覆盖文件名。

"export": {
  "enabled": true,
  "menuReviver": function( config, li ) {
    var context = this; // INSTANCE

    // MODIFY ONLY IMAGE ITEMS
    if ( config.capture ) {
      var title = li.getElementsByTagName( "span" )[ 0 ].textContent;
      var link = document.createElement( "a" );
      var span = document.createElement( "span" );

      // REMOVE ORIGINAL
      li.getElementsByTagName( "a" )[ 0 ].remove();

      // TITLE
      span.innerHTML = title;
      link.appendChild( span );

      function callback() {
        var fileName = prompt( "Filename" );

        // CHECK FILENAME
        if ( fileName ) {

          // CAPTURE CHART
          this.capture( {}, function() {

            // GET JPG DATA
            this.toPDF( {}, function( base64 ) {
              var info = this.defaults.formats.PDF;

              // OFFER DOWNLOAD WITH GIVEN FILENAME
              this.download( base64, info.mimeType, fileName + info.extension );
            } );
          } );
        }
      }

      // LINK
      link.addEventListener( "click", function() {
        callback.apply( context, arguments );
      } );
      li.appendChild( link );
    }
  }

http://codepen.io/amcharts/pen/674b14ad4e2594a31ac59a455dda6784

如果您想手动完成,您可以按照以下方式进行:

"export": {
  "enabled": true,
  "menu": [ {
    "format": "PDF",
    "click": function() {
      var fileName = prompt( "Filename:" );

      // CHECK FILENAME
      if ( fileName ) {

        // CAPTURE CHART
        this.capture( {}, function() {

          // GET JPG DATA
          this.toPDF( {}, function( base64 ) {
            var info = this.defaults.formats.PDF;

            // OFFER DOWNLOAD WITH GIVEN FILENAME
            this.download( base64, info.mimeType, fileName + info.extension );
          } );
        } );
      }
    }
  } ]
}