1

以下のメソッドは、特定の pdf ファイルの FileInfo を取り込み、その pdf をビットマップに変換します。この方法はランダムに動作するようです。問題なく終了する場合もあれば、using (Bitmap bmp = image.ToBitmap())一部で失敗する場合もあります。その行に到達すると、「パラメーターが無効です」というエラーが表示されます。このランダムなエラーを修正する方法も、さらに詳しく分析する方法もわかりません。どんな助けでもいただければ幸いです

static void ParseOutEachBitmap(FileInfo[] pdfFiles)
        {
             string BmpPath = "C:\\temp\\bmps\\";
             if (!Directory.Exists(BmpPath))
             {
                Directory.CreateDirectory(BmpPath);
             }

            using (MagickImageCollection images = new MagickImageCollection())
            {
                MagickReadSettings settings = new MagickReadSettings();
                settings.Density = new MagickGeometry(300, 300);
                for (int p = 0; p < pdfFiles.Count(); p++)
                {
                    images.Read(@"c:\temp\pdfs\" + pdfFiles[p].Name, settings);

                    int pageNumber = 1;
                    string pdfName = pdfFiles[p].Name;

                    foreach (MagickImage image in images)
                    {
                        using (Bitmap bmp = image.ToBitmap())
                        {                          
                            Console.WriteLine("PDF Filename: " + pdfName);
                            Console.WriteLine("Page Number: " + pageNumber + " of " + images.Count);
                            pageNumber++;

                            using (tessnet2.Tesseract tessocr = new tessnet2.Tesseract())
                            {                              
                               tessocr.GetThresholdedImage(bmp, System.Drawing.Rectangle.Empty).Save("c:\\temp\\bmps\\" + Guid.NewGuid().ToString() + ".bmp");
                            }                            
                        }
                    }
                }
            }
        }
4

0 に答える 0