Ghostscript PDF 到 TIFF 设置输出大小 c#

Ghostscript PDF to TIFF setting output size c#

我有一个 22 页的 pdf。我正在使用 GhostScript 将 PDF 转换为 TIFF 以供 Tesseract 使用。我这样做了...

  string filename=openFileDialog1.FileName;

  using (GhostscriptRasterizer rasterizer = new GhostscriptRasterizer())
            {
                rasterizer.Open(filename, _lastInstalledVersion, false);
                for (int pageNumber = 1; pageNumber <= rasterizer.PageCount; pageNumber++)
                {
                  Image img = rasterizer.GetPage(400, 400, pageNumber);  
                }

我想在将它传递给 Tesseract 使用之前设置 img 大小,但我不能..有什么办法吗?

有这个例子:但是如果我可以将 pdf 中的每个图像传递给 Tesseract

  GhostscriptVersionInfo gv = GhostscriptVersionInfo.GetLastInstalledVersion();

        using (GhostscriptProcessor processor = new GhostscriptProcessor(gv, true))
        {
            processor.Processing += new GhostscriptProcessorProcessingEventHandler(processor_Processing);

            List<string> switches = new List<string>();
            switches.Add("-empty");
            switches.Add("-dSAFER");
            switches.Add("-dBATCH");
            switches.Add("-dNOPAUSE");
            switches.Add("-dNOPROMPT");
            switches.Add(@"-sFONTPATH=" + System.Environment.GetFolderPath(System.Environment.SpecialFolder.Fonts));
            switches.Add("-dFirstPage=" + pageFrom.ToString());
            switches.Add("-dLastPage=" + pageTo.ToString());
            switches.Add("-sDEVICE=png16m");
            switches.Add("-r96");
            switches.Add("-dTextAlphaBits=4");
            switches.Add("-dGraphicsAlphaBits=4");

            //switches.Add("-sDEVICE=pdfwrite");

            switches.Add(@"-sOutputFile=" + outputFile);
            switches.Add(@"-f");
            switches.Add(inputFile);

            processor.StartProcessing(switches.ToArray(), null);
        }
    }

-dDEVICEWIDTHPOINTS 和 -dDEVICEHEIGHTPOINTS 以及 -dFIXEDMEDIA 将设置特定的媒体大小。您可能还想设置 -dPDFFitPage 以将内容缩放到新媒体上。

您不能直接使用 Ghostscript,您使用的是 jhabjan 的 Ghostscript.net 吗?