Sivachandran R Ответов: 1

Преобразование excel в PDF


Here is the following code which used for converting excel to PDF.I need a solution for PDF to be converted as password protected below code is used for converting the excel to PDF without password.




Dim excelApplication As ApplicationClass = New ApplicationClass()
  Dim excelWorkbook As Workbook = Nothing
  Dim paramSourceBookPath As String = "C:\test\DDB_TEST.xlsx"
  Dim paramExportFilePath As String = "C:\test\Test.pdf"
  Dim paramExportFormat As XlFixedFormatType = _
      XlFixedFormatType.xlTypePDF
  Dim paramExportQuality As XlFixedFormatQuality = _
      XlFixedFormatQuality.xlQualityStandard
  Dim paramOpenAfterPublish As Boolean = False
  Dim paramIncludeDocProps As Boolean = True
  Dim paramIgnorePrintAreas As Boolean = True
  Dim paramFromPage As Object = Type.Missing
  Dim paramToPage As Object = Type.Missing
  Dim executableLocation As String = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)
  Dim xslLocation As String = Path.Combine(executableLocation, "DDL.pdf")
  Dim xslLocation1 As String = Path.Combine(executableLocation, "DDL1.pdf")
  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
      Try
          ' Open the source workbook.
          excelWorkbook = excelApplication.Workbooks.Open(paramSourceBookPath)
          ' Save it in the target format.
          If Not excelWorkbook Is Nothing Then
              excelWorkbook.ExportAsFixedFormat(paramExportFormat, _
                  xslLocation, paramExportQuality, _
                  paramIncludeDocProps, paramIgnorePrintAreas, _
                  paramFromPage, paramToPage, paramOpenAfterPublish)
              Dim picArray As Byte() = System.IO.File.ReadAllBytes(paramExportFilePath)
              '   System.IO.File.WriteAllBytes("hello.pdf", picArray)
          End If
      Catch ex As Exception
          ' Respond to the error.
      Finally
          ' Close the workbook object.
          If Not excelWorkbook Is Nothing Then
              excelWorkbook.Close(False)
              excelWorkbook = Nothing
          End If
          ' Quit Excel and release the ApplicationClass object.
          If Not excelApplication Is Nothing Then
              excelApplication.Quit()
              excelApplication = Nothing
          End If
          GC.Collect()
          GC.WaitForPendingFinalizers()
          GC.Collect()
          GC.WaitForPendingFinalizers()
         // EncryptPdf(xslLocation, xslLocation1, "text")
      End Try
  End Sub


Что я уже пробовал:

я пробовал с Microsoft.- взаимодействия.Excel для преобразования Excel в PDF без паролей защищена(защищен).

Richard MacCutchan

И что же? В чем вопрос?

Richard MacCutchan

Неужели?

Steve44

Чтобы получить информированный ответ, не могли бы вы добавить, какие методы взаимодействия Excel вы вызываете с какими параметрами и какую ошибку получили?

К сожалению, большинство людей здесь не умеют читать мысли (включая меня), поэтому вам придется предоставить подробности в своем вопросе :-)

RollUpBob

Excel Interop не поддерживает зашифрованные PDF-файлы, поэтому я думаю, что у вас есть два варианта:

1. Создайте PDF-файл с помощью VB.NET используя этот ExportAsFixedFormat и после этого зашифруйте его, например, как показанный ниже (это пример C#, но, надеюсь, вы сможете перевести его на VB.NET с легкостью).

2. Преобразование файла Excel в PDF на языке C# / VB.NET примерно следующий:

Dim workbook As ExcelFile = ExcelFile.Нагрузка("C:\test\DDB_TEST.xlsx")

Тусклые параметры как новые PdfSaveOptions()
опции.DocumentOpenPassword = " пароль"

рабочая тетрадь.Сохранить("C:\test\DDB_TEST.pdf", варианты)

Код использует API от эта библиотека Excel для VB.NET.

Sivachandran R

Спасибо RollupBob

RollUpBob

Пожалуйста, я рад, что смог помочь.

1 Ответов

Рейтинг:
1

Richard MacCutchan

_Рабочий лист.Метод ExportAsFixedFormat (Microsoft.Офис.Взаимодействие.Превосходить)[^] не имеет возможности добавить пароль.


Sivachandran R

Так есть ли какой-нибудь способ добавить пароль в pdf с помощью другой опции?

Richard MacCutchan

Без понятия. Зайдите на веб-сайт Adobe и получите копию стандарта PDF, чтобы узнать, как его можно добавить.

Sivachandran R

Спасибо Ричард