Преобразование 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
Пожалуйста, я рад, что смог помочь.