2012-01-09 13 views
0

pdfマージのためにiTextSharp dllバージョン4.1.2.0を使用していますが、最終的にマージされたpdfの一部のページが空白になっています。この問題は、最新のDLLには存在しません。 .netフレームワーク1.1を使用していますので、サポートしていない最新のDLLを使用することはできません。 だから、どうすればいいのか教えてください。iTextSharp dll 4.1.2.0の問題により、マージされたpdfの空白ページが発生する

おかげ

+0

トラブルシューティングをお手伝いすることができるように、コードサンプルを提供してください。 –

+0

最新のDLLに解決されています。 – mns

答えて

0

はい、私たちは、最新のDLLを使用する場合、それは、何の問題OKではありませんが、我々は前にあるかもしれないの.NET Framework 1.1をサポートしているDLLを使用している場合は、」のようなソリューションを持っています最新のdll。

私の場合の問題は、一部のpdfsが壊れており、正しく解析できないためです。そのため、「ストリームの終わりを過ぎて読み取ろうとしました」という例外がスローされています。 EOFマーカーの後にいくつかの文字があるのは問題です。そのため、ファイルからすべての文字を削除して、新しく作成したpdfファイルでテストするだけです。

public void RemoveExtraBytes(string ofilepath,nfilepath) 
{ 
     string oldfilePath =ofilepath; 
     string newFilePath="nfilepath"; 
     WebClient client = new WebClient(); 
     byte[] buffer = client.DownloadData(filePath); 
     string str; 
     int position = 0; 
     str = ASCIIEncoding.ASCII.GetString(buffer); 
     if (str.Contains("%%EOF")) 
     { 
      position = str.LastIndexOf("%%EOF"); 
     } 
     Stream stream = new System.IO.FileStream(newfilepath, FileMode.Create); 
     stream.Write(buffer, 0, position); 
     stream.Close(); 
} 
関連する問題