Itextsharp と Bitmiracle を使用して、pdf ファイルから tif イメージを作成しようとしています。
まず、iTextsharp を使用して、pdf ファイルの各ページのバイト詳細を取得しようとしています。
string bpp = pd.Get(PdfName.BITSPERCOMPONENT).ToString();
PixelFormat pixelFormat;
switch (bpp)
{
case "1":
pixelFormat = PixelFormat.Format1bppIndexed;
break;
case "8":
pixelFormat = PixelFormat.Format24bppRgb;
break;
default:
throw new Exception(String.Format("Unknown pixel format {0}.", bpp));
}
その後、bitmiracle を使用して、その画像を tiff 形式で保存しています。しかし、画像は表示されません。
string filter = PDFStremObj.Get(PdfName.FILTER).ToString();
switch (filter)
{
case "/FlateDecode":
byte[] arr = PdfReader.GetStreamBytes((PRStream)PDFStremObj);
Bitmap bmp = new Bitmap(Int32.Parse(width), Int32.Parse(height), PixelFormat.Format24bppRgb);
BitmapData bmd = bmp.LockBits(new System.Drawing.Rectangle(0, 0, Int32.Parse(width), Int32.Parse(height)), ImageLockMode.WriteOnly,
PixelFormat.Format24bppRgb);
Marshal.Copy(arr, 0, bmd.Scan0, arr.Length);
bmp.UnlockBits(bmd);
bmp.Save(strFileNewName, System.Drawing.Imaging.ImageFormat.Tiff);
bmp.Dispose();
page++;
break;
}
コードの問題を修正するか、変更を提案してください。
よろしくお願いします。