【问题标题】:UWP Save PDF FileUWP 保存 PDF 文件
【发布时间】:2016-05-06 09:50:03
【问题描述】:

我目前正在开发一个 UWP 应用程序。这个应用程序有 PDF 文件的用户手册。我需要能够在浏览器中打开 PDF,打开后将其保存到下载文件夹。 PDF的链接在这里: https://mysite.azurewebsites.net/Content/manuals/01-Introduction.pdf

在我打开它之前,我检查文件是否已经保存到设备上。如果找不到文件,我将打开 PDF,并需要将其自动保存到所需的文件夹(此时只是下载)。 我已经在这里进行了检查作为尝试:

        try {
            var ManualFile = await DownloadsFolder.CreateFileAsync("ManualFile.txt", CreationCollisionOption.FailIfExists);
        }
        catch
        {
            var uriBing = new Uri(@"https://mysite.azurewebsites.net/Content/manuals/01-Introduction.pdf");
            var success = await Windows.System.Launcher.LaunchUriAsync(uriBing);
        }

Catch 是我在浏览器中打开文件的地方,我现在只需将此 PDF 保存到下载文件夹。 “ManualFile.txt”将更改为保存的 PDF 的名称,因此一旦它位于“下载”文件夹中,检查应该会找到该文件。 任何帮助将不胜感激!

【问题讨论】:

  • pdf 文件在哪里?您需要从中创建流。然后保存到设备
  • @LovetoCode PDF 来自网站(因此是 url)。我对编码很陌生,所以实际上不确定创建流是什么?您是否有更多信息或网站链接?谢谢!

标签: c# xaml pdf win-universal-app windows-10-universal


【解决方案1】:

我认为您只需在程序中复制文件,而不是使用 PDF 浏览器另存为。例如:

    var uriBing = new Uri(@"https://mysite.azurewebsites.net/manuals/01-Introduction.pdf");
    try 
    {
        var ManualFile = await DownloadsFolder.CreateFileAsync("ManualFile.pdf", CreationCollisionOption.FailIfExists);
        var cli = new HttpClient();
        var str = await cli.GetInputStreamAsync(uriBing);
        var dst = await ManualFile.OpenStreamForWriteAsync();
        str.AsStreamForRead().CopyTo(dst);
    }
    catch { }
    var success = await Windows.System.Launcher.LaunchUriAsync(uriBing));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-13
    • 1970-01-01
    • 2015-05-20
    • 2015-03-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多