(警告: Stackoverflow で初めて) PDF をバイナリ経由で読み込めるようにしたいのですが、分離ストレージに書き戻すときに問題が発生します。分離ストレージに書き戻され、ファイルを開こうとすると、アドビ リーダーから、これは有効な PDF ではないというエラー メッセージが表示されます。ファイルは 102 キロバイトですが、分離ストレージに書き込むと 108 キロバイトになります。
これを行う理由は、pdfを分割できるようにしたいからです。PDFsharpを試しました(すべてのpdfタイプを開くわけではありません)。これが私のコードです:
public void pdf_split()
{
string prefix = @"/PDFread;component/";
string fn = originalFile;
StreamResourceInfo sr = Application.GetResourceStream(new Uri(prefix + fn, UriKind.Relative));
IsolatedStorageFile iStorage = IsolatedStorageFile.GetUserStoreForApplication();
using (var outputStream = iStorage.OpenFile(sFile, FileMode.CreateNew))
{
Stream resourceStream = sr.Stream;
long length = resourceStream.Length;
byte[] buffer = new byte[32];
int readCount = 0;
while (readCount < length)
{
int read = sr.Stream.Read(buffer, 0, buffer.Length);
readCount += read;
outputStream.Write(buffer, 0, read);
}
}
}