如何发布/部署Windows.Data.PdfDocument

时间:2018-01-22 11:26:55

标签: c# pdf windows-10 windows-8.1

下面的代码将在Windows 10 1709上抛出UnauthorizedAccessException。在以前版本的Windows 10(或8.1)中,不会抛出任何异常。如果注释掉LoadFromFileAsync的行,则不会抛出任何异常。

private async void Button_Click(object sender, RoutedEventArgs e)
{
   var source = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync(@"Assets\example.pdf");

   var tempFile = await source.CopyAsync(ApplicationData.Current.TemporaryFolder, "my.pdf", NameCollisionOption.ReplaceExisting);

   var pdf = await PdfDocument.LoadFromFileAsync(tempFile);

   await tempFile.DeleteAsync(StorageDeleteOption.PermanentDelete);
}

由于PdfDocument没有提供释放/释放明显声称的资源的方法,这似乎是框架内的一个错误。我能想到的唯一解决方法是通过LoadFromStreamAsync传递数据,以防止文件被锁定。

那么如何在Windows 10 1709上正确发布PdfDocument

enter image description here

尝试删除前的其他屏幕截图:

enter image description here

1 个答案:

答案 0 :(得分:1)

最后采用了解决方法来阻止<?xml version="1.0" encoding="utf-8"?> <openerp> <data> <record id="view_hr_payslip_inherit_form_extended" model="ir.ui.view"> <field name="name">hr.payslip.inherit.form</field> <field name="model">hr.payslip</field> <field name="inherit_id" ref="hr_payroll.view_hr_payslip_form" /> <field name="arch" type="xml"> <xpath expr="//page[1]" position="after"> <form string="tes_table" colspan="4" nolabel="1"> <notebook> <page string="Pendapatan Karyawan"> <separator string="Tes Hasil"/> <group col="4"> <tree colspan="4" nolabel="1" string="Tunjangan Gaji"> <field name="gaji_pokok"/> <field name="t_lembur"/> </tree> </group> </page> </notebook> </form> </xpath> </record> 锁定文件:

PdfDocument