相关疑难解决方法(0)

在角度应用中显示blob(.pdf)

我一直在尝试显示pdf文件,我从$http.post响应中获取blob .例如,pdf必须在应用程序中显示<embed src>.

我遇到了几个堆栈帖子,但不知怎的,我的例子似乎不起作用.

JS:

根据这份文件,我继续尝试......

$http.post('/postUrlHere',{myParams}).success(function (response) {
 var file = new Blob([response], {type: 'application/pdf'});
 var fileURL = URL.createObjectURL(file);
 $scope.content = fileURL;
});
Run Code Online (Sandbox Code Playgroud)

根据我的理解,fileURL创建一个临时URL,博客可以将其用作参考.

HTML:

<embed src="{{content}}" width="200" height="200"></embed>
Run Code Online (Sandbox Code Playgroud)

我不知道如何在Angular中处理这个问题,理想的情况是(1)将它分配给范围,(2) '准备/重建'blob到pdf (3)将其传递给HTML使用<embed>因为我想要在应用程序中显示它.

我已经研究了一天以上但不知何故我似乎无法理解它在Angular中是如何工作的......让我们假设那里的pdf查看器库没有选项.

pdf blob angularjs

104
推荐指数
5
解决办法
23万
查看次数

使用Node.js中的远程图像提供动态生成的PDF

我正在尝试创建一个使用PDFKit即时生成PDF的节点服务器.PDF是基于POST请求(通过Express)的参数生成的.其中一个参数指定图像URL,服务器下载并注入PDF.

现在,我有以下结构:

// Get dependencies
var express = require('express'),
http = require('http'),
fs = require('fs'),
pdfDocument = require('pdfkit');

// Get express started.
var app = express();

// Use JSON in POST body
app.use(express.json());

// Setup POST response
app.post('/post_pdf', function(req, res) {
    // Get the PDF initialized
    var doc = new pdfDocument();

    // Set some headers
    res.statusCode = 200;
    res.setHeader('Content-type', 'application/pdf');
    res.setHeader('Access-Control-Allow-Origin', '*');

    // Header to force download
    res.setHeader('Content-disposition', 'attachment; filename=Untitled.pdf');     

    // Pipe generated PDF into response …
Run Code Online (Sandbox Code Playgroud)

javascript node.js express node-pdfkit

7
推荐指数
1
解决办法
1万
查看次数

服务器生成的PDF angularjs具有较长的帖子内容

尝试了很多不同的方法后,没有任何方法可以帮助我.

最相似的问题是这一个如何在angularjs中阅读pdf流

我有一个AngularJS应用程序,它向我的PHP文件发送请求以生成PDF文件.我的控制器具有以下功能,我通过ng-click从按钮调用:

$scope.print = function() {
    $http({
        method : "post",
        url : '/pdf/print_processor.php',
        data : printdata,
        //responseType : 'arraybuffer',
        headers : {
            'Content-type' : 'application/json'
        }
    }).success(function(response, status, headers) {                        
     var file = new Blob([response], {type: 'application/pdf'});
        var fileURL = URL.createObjectURL(file);
        window.open(fileURL);
    });
}   
Run Code Online (Sandbox Code Playgroud)

主要原因是我必须将更多数据发送到PHP文件.printdata变量包含一个超过12 KB的嵌套JSON对象.所以我无法使用普通的GET或通过普通链接传递此数据作为URL的一部分.

请求正在运行,因为我可以直接调用print_processor.php(这给了我PDF),并且我使用相同的方法来创建发送电子邮件.就像上面提到的问题一样,我的回复也包含了pdf本身:

%PDF-1.5
3 0 obj
<</Type /Page
/Parent 1 0 R
/Resources 2 0 R
/Group <</Type /Group /S /Transparency /CS /DeviceRGB>>
/Contents 4 0 R>>
endobj
4 0 obj
<</Filter /FlateDecode …
Run Code Online (Sandbox Code Playgroud)

javascript php pdf json angularjs

5
推荐指数
1
解决办法
5155
查看次数

标签 统计

angularjs ×2

javascript ×2

pdf ×2

blob ×1

express ×1

json ×1

node-pdfkit ×1

node.js ×1

php ×1