左のフィールドから出てきた狂ったものを手に入れました。Powershellコンソールがスクリプトの失敗を引き起こす
分割が必要なベンダーアプリケーションによって生成されるPDFファイルがあります。私はiTextSharp.DLLを使用していますが、PowerShell ISEでのみ有効です。私はコンソールを介して同じスクリプトを実行しようとすると、それは壊れます。ここで
は、私はPowerShellのISEでこれを実行すると、私は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'.
を取得
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
を取得するスクリプトのダウンカット部
Add-Type -Path ("MyDrive:\MyPath\itextsharp.dll");
$pdf = New-Object iTextSharp.text.pdf.PdfReader($sourcePDFFile);
[iTextsharp.text.Document]$sourcePDF = $pdf.GetPageSizeWithRotation($fromPage);
$sourcePDF.Open();
です
$ sourcePDF変数にGet-Memberの結果を出力すると、そのタイプはiTextsharp.text.Documenとして表示されますISEで動作しているときはt、コンソール経由で走っているときはiTextSharp.text.Rectangleです。
誰かが私に問題の原因と問題を解決するためのいくつかの指針を与えることができます。
乾杯 フィルは
思いも寄らないしかし、おそらくあなたは別のDLLの読み込みをしています。しかしそれは確かに価値がある。 –
'$ pdf'変数のタイプも検証する価値があります。私はすでに違っていると思います。 –
私はLievenと同じように、上の例では異なるシェルアーキテクチャを実行していると思いますか? – Matt