【问题标题】:Excel to Pdf in C# using Pdftron使用 Pdftron 在 C# 中将 Excel 转换为 Pdf
【发布时间】:2017-08-31 15:29:38
【问题描述】:

我正在尝试使用 Pdftron (Pdfnet) 库在 ASP.Net Web 应用程序中将 Excel 文档转换为 PDF。 以下是我用于上述目的的代码。

    pdf.PDF.PDFDoc newSalaryFitmentPdf = new pdf.PDF.PDFDoc();
    pdftron.PDF.Convert.ToPdf(newSalaryFitmentPdf, newSalaryFitmentExcel.FullName);
salaryFitment = newSalaryFitmentPdf.Save(pdf.SDF.SDFDoc.SaveOptions.e_linearized);

但是当程序尝试执行第二行时,我得到了以下异常。

Exception: 
     Message: An error occurred while converting the file.
Detailed error:
    Error creating a new Excel application instance.
Code: PDFTRON_UNKNOWN (-2147024891)
      File: "Excel.cpp":51
    Log:
      Start check system account.
      Session ID is: 0.
      Failed to create Desktop folder in SystemProfile. boost::filesystem::create_directory: Access is denied: "C:\Windows\system32\config\systemprofile\Desktop"
      Failed to create Desktop folder in SystemProfile. boost::filesystem::create_directory: Access is denied: "C:\Windows\SysWOW64\config\systemprofile\Desktop"
      Done checking system account.
      Creating an Excel application instance.

     Conditional expression: false
     Version    : 6.7.1.61823N
     Filename   : Convert.cpp
     Function   : trn::PDF::Convert::ToPdf
     Linenumber : 1692

任何帮助将不胜感激。

【问题讨论】:

  • 看来您要么没有权限,要么您应该在启用用户配置文件的情况下运行应用程序池,这将允许使用桌面文件夹。

标签: c# pdf pdftron pdfnet


【解决方案1】:
Failed to create Desktop folder in SystemProfile. boost::filesystem::create_directory: Access is denied: "C:\Windows\system32\config\systemprofile\Desktop"
Failed to create Desktop folder in SystemProfile. boost::filesystem::create_directory: Access is denied: "C:\Windows\SysWOW64\config\systemprofile\Desktop"

您必须将您的应用程序设置为对这些目录具有读/写访问权限。请参阅this article 了解更多信息。

【讨论】:

  • 我在 Word 转换方面遇到了同样的问题。我已经完成了您上面的建议,但仍然出现以下错误。创建新的 Word 应用程序实例时出错。代码:PDFTRON_UNKNOWN (-2147024891) 文件:“Word.cpp”:141 日志:开始检查系统帐户。会话 ID 为:0。完成检查系统帐户。开始检查注册表。注册表检查完成。创建 Word 应用程序实例。
  • 条件表达式:false 版本:6.8.0.64016N 文件名:Convert.cpp 功能:trn::PDF::Convert::ToPdf 行号:1721 InnerException: StackTrace: at pdftron.PDF.Convert.ToPdf (PDFDoc in_pdfdoc, String in_filename) at FileHelper.Program.ConvertToPdfFromFile(String filePathAndName) 我正在转换的服务器是安装了 MS Word 2013 的 Windows Server 2016(未授权)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-18
  • 2013-11-09
  • 1970-01-01
  • 1970-01-01
  • 2011-05-26
  • 2017-01-13
相关资源
最近更新 更多