Получил сумасшедший, который вышел из левого поля.Консоль Powershell, вызывающая ошибки сценария
У нас есть файл PDF, который генерируется приложением поставщика, которое необходимо разделить. Я использую iTextSharp.DLL, и он отлично работает, но только в PowerShell ISE. Когда я пытаюсь запустить тот же скрипт через Консоль, он ломается.
Вот вырубить часть сценария
Add-Type -Path ("MyDrive:\MyPath\itextsharp.dll");
$pdf = New-Object iTextSharp.text.pdf.PdfReader($sourcePDFFile);
[iTextsharp.text.Document]$sourcePDF = $pdf.GetPageSizeWithRotation($fromPage);
$sourcePDF.Open();
Когда я запускаю это в Powershell ISE я получаю
2016-11-15T19:17:48 Runnning in Windows PowerShell ISE Host as MYDOMAIN\myuser
2016-11-15T19:17:48 Opening PDF file
2016-11-15T19:17:50 Outputting seperated PDF files
2016-11-15T19:17:51 1 file(s) processed out of 3
Когда я запускаю это в Powershell консоли я получаю
2016-11-15T19:20:19 Runnning in ConsoleHost as MYDOMAIN\myuser
2016-11-15T19:20:19 Opening PDF file
2016-11-15T19:20:21 Outputting seperated PDF files
2016-11-15T19:20:21 —- Exception Message:
ErrorRecord : Method invocation failed because [iTextSharp.text.Rectangle] does not contain a method named 'Open'.
Если я выдаю результаты Get-Member в переменной $ sourcePDF, тип отображается как iTextsharp.text.Documen t при запуске в ISE, но iTextSharp.text.Rectangle при запуске через консоль.
Надеясь, что кто-то может дать мне несколько указателей на то, что вызывает проблему, и как я могу ее решить.
Приветствия Phil
Вряд ли, но, возможно, вы загружаете разные DLL файлы. Однако стоит проверить. –
Также стоит проверить тип переменной '$ pdf'. Я могу представить, что это уже другое. –
Я думаю, что в том же духе, что и у Ливена, вы используете разные архитектуры оболочек в своих примерах выше? – Matt