C# PDF to image

    技术2026-04-12  0

    可以使用Ghostscript ,免费的,我们一直在用。下载地址 http://sourceforge.net/project/showfiles.php?group_id=1897&package_id=108733

    C# code public IList < string > GenerateThumbnailImage( string InputFile, bool deletePDF, string filename) { return GenerateImage(InputFile, deletePDF, filename, " -dSAFER -dBATCH -dNOPAUSE -r150 -sDEVICE=jpeg -dGraphicsAlphaBits=4 " ); } private IList < string > GenerateImage( string InputFile, bool deletePDF, string filename, string Arguments) { IList < string > result = new List < string > (); PDFLibrary myPDFLibrary = new PDFLibrary(); int PDFPageCount = myPDFLibrary.GetPageCount(InputFile); if (PDFPageCount == 0 ) { return result; } string OutputFile = filename; string ExtOut = Path.GetExtension(OutputFile); string partOut = OutputFile.Remove(OutputFile.Length - ExtOut.Length, ExtOut.Length); if (PDFPageCount == 1 ) { OutputFile = partOut + " .jpg " ; result.Add(OutputFile); if (File.Exists(OutputFile)) { File.Delete(OutputFile); } } else { for ( int i = 0 ; i < PDFPageCount; i ++ ) { string eachFileName = partOut + (i + 1 ).ToString() + " .jpg " ; result.Add(eachFileName); if (File.Exists(eachFileName)) { File.Delete(eachFileName); } } OutputFile = OutputFile.Remove(OutputFile.Length - ExtOut.Length, ExtOut.Length); OutputFile += " %d.jpg " ; } ProcessStartInfo info = new ProcessStartInfo(); info.CreateNoWindow = true ; info.WindowStyle = ProcessWindowStyle.Hidden; info.WorkingDirectory = System.Configuration.ConfigurationManager.AppSettings[ " GhostScriptView " ]; info.Arguments = Arguments + @" -sOutputFile= " + OutputFile + " " + InputFile; info.FileName = @" gswin32c.exe " ; Process subProcess = new Process(); subProcess.StartInfo = info; subProcess.Start(); subProcess.WaitForExit( int .MaxValue); if (deletePDF) { System.IO.File.Delete(InputFile); } return result; }

    最新回复(0)