pdfマージのためにiTextSharp dllバージョン4.1.2.0を使用していますが、最終的にマージされたpdfの一部のページが空白になっています。この問題は、最新のDLLには存在しません。 .netフレームワーク1.1を使用していますので、サポートしていない最新のDLLを使用することはできません。 だから、どうすればいいのか教えてください。iTextSharp dll 4.1.2.0の問題により、マージされたpdfの空白ページが発生する
おかげ
pdfマージのためにiTextSharp dllバージョン4.1.2.0を使用していますが、最終的にマージされたpdfの一部のページが空白になっています。この問題は、最新のDLLには存在しません。 .netフレームワーク1.1を使用していますので、サポートしていない最新のDLLを使用することはできません。 だから、どうすればいいのか教えてください。iTextSharp dll 4.1.2.0の問題により、マージされたpdfの空白ページが発生する
おかげ
はい、私たちは、最新の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();
}
トラブルシューティングをお手伝いすることができるように、コードサンプルを提供してください。 –
最新のDLLに解決されています。 – mns