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

时间:2015-02-06 01:58:03

标签: c# ghostscript ghostscript.net

我有一个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);  
                }

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

有这样的例子:但如果我可以传递来自pdf的每张图片以供Tesseract使用,那就是idk

  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);
        }
    }

1 个答案:

答案 0 :(得分:2)

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

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

相关问题