エンドユーザが見るためにいくつかのPDFファイルを生成するパワーアプリを作ることができるかどうかを知りたい課題があります。 PDFを生成した電力アプリを生成するためには :)私はこれを達成することは容易ではないことが判明し、このトピックに関する研究通じた後、ダウンロード/ショー私はこれらのステップを作っ:パワーアプリ - PDFを生成
だけで電源のアプリを作成しまし- ボタン一つ:)生成して返すPDFをStreamContent
として電力によるアプリの制限のために(あるいは私は方法を見つけることができませんでした)しますステップ2
Azureの機能コードが
using System;
using System.Net;
using System.Net.Http.Headers;
using System.Runtime.InteropServices;
using Aspose.Words;
public static async Task<HttpResponseMessage> Run(HttpRequestMessage req, TraceWriter log, Stream outputBlob)
{
log.Info($"C# HTTP trigger function processed a request. RequestUri={req.RequestUri}");
var dataDir = @"D:/home";
var docFile = $"{dataDir}/word-templates/WordAutomationTest.docx";
var uid = Guid.NewGuid().ToString().Replace("-", "");
var pdfFile = $"{dataDir}/pdf-export/WordAutomationTest_{uid}.pdf";
var doc = new Document(docFile);
doc.Save(pdfFile);
var result = new HttpResponseMessage(HttpStatusCode.OK);
var stream = new FileStream(pdfFile, FileMode.Open);
stream.CopyTo(outputBlob);
// result.Content = new StreamContent(stream);
// result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment");
// result.Content.Headers.ContentDisposition.FileName = Path.GetFileName(pdfFile);
// result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
// result.Content.Headers.ContentLength = stream.Length;
return result;
}
を下回っている私は
古いコード(ちょうど私が試したものの参照として、コメントの下に戻ってPDFファイルをストリーム1)
を残し、新たに生成されたブロブエントリのダウンロードURLを取得する方法はありますAzure関数の中で? パワーアプリケーションを生成し、生成されたPDFをダウンロード/表示させるための良い方法はありますか?P.S.私はパワーアプリ内のPDFViewerコントロールを使用しようとしましたが、この制御は、Uが機能
EDITを介して文書の値を設定することはできません。原因完全に役に立たないです:@mathewcからの応答が最終的にこれをラップするために私をたくさん助けました。詳細は以下の通りです。
#r "Microsoft.WindowsAzure.Storage"
using System;
using System.Net;
using System.Net.Http.Headers;
using System.Runtime.InteropServices;
using Aspose.Words;
using Microsoft.WindowsAzure.Storage.Blob;
public static async Task<HttpResponseMessage> Run(HttpRequestMessage req, TraceWriter log, CloudBlockBlob outputBlob)
{
log.Info($"C# HTTP trigger function processed a request. RequestUri={req.RequestUri}");
var dataDir = @"D:/home";
var docFile = $"{dataDir}/word-templates/WordAutomationTest.docx";
var uid = Guid.NewGuid().ToString().Replace("-", "");
var pdfFile = $"{dataDir}/pdf-export/WordAutomationTest_{uid}.pdf";
var doc = new Document(docFile);
doc.Save(pdfFile);
var result = new HttpResponseMessage(HttpStatusCode.OK);
var stream = new FileStream(pdfFile, FileMode.Open);
outputBlob.UploadFromStream(stream);
return req.CreateResponse(HttpStatusCode.OK, outputBlob.Uri);
}
を期待通りに動作します 新しいAzureの機能は備考:project.json内の "7.2.1":
- ウィーは "WindowsAzure.Storage" を追加する必要があります。このパッケージMUSTはである同じ名前のものと同じバージョンであることが%USERPROFILE%\のAppData \ローカル\ Azure.Functions.Cli
よくできました!私にも同様の問題があります。 PowerAppでURIを使って何をしましたか?セキュリティはどのように機能しますか?私も以下のリンクをチェックアウトします:-) – MikeAinOz