2016-07-11 8 views
1

프로그래밍 작업이 있습니다. 어디에서 무료 라이브러리 또는 명령 줄 프로그램을 사용하여 이미지를 PDF로 변환 C#을 사용해야합니다.C# 및 Ghostscript를 사용하여 pdf를 이미지로 변환

지금까지 고스트는 이미지의 중심에 8 빨간색 상자를 생성하는 것을 제외하고 작품을 사용하여 변환 :

PDF 파일의 내용은 순수한 흰색입니다,하지만 난이 왜 8 이미지에 빨간색 상자가 있습니까? 내가 뭘 잘못 했니? 여기

코드 : 당신을 감사합니다, 여기

string outputImagesPath = null; 


string inputPDFFile = null; 
inputPDFFile = @"C:\Users\user\cover.pdf"; 
outputImagesPath = @"C:\user\Desktop\1.jpg"; 
string ghostScriptPath = @"C:\Users\gswin32.exe"; 

String ars = "-o" + outputImagesPath+ "%03d.png -sDEVICE=jpeg -dJPEGQ=100 " + inputPDFFile; 
Process proc = new Process(); 
proc.StartInfo.FileName = ghostScriptPath; 
proc.StartInfo.Arguments = ars; 
proc.StartInfo.CreateNoWindow = true; 
//proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; 
proc.StartInfo.UseShellExecute = false; 
proc.StartInfo.RedirectStandardOutput = true; 
proc.Start(); 
string strOutput = proc.StandardOutput.ReadToEnd(); 
Console.WriteLine(strOutput); 
proc.WaitForExit(); 

는 PDF 파일의 링크입니다 https://drive.google.com/open?id=0B0auNx4EZsCUUkFHWGR4MjV5NzA

+0

당신의 오류는 여기 '+ outputImagesPath + "% 03d.png'라고 생각합니다.'+ outputImagesPath +"% d.jpeg'일까요? – lokusking

답변

0

이 누락 된 글꼴이나 CIDFont에 의해 발생 대부분의 경우 사각형은 .notdef 있습니다 글리프 (glyph)를 찾을 수 없을 때 사용되는 글리프. 물론 원본 PDF 파일을 보지 않고도 말할 수 없습니다.

그러나 Ghostscript 백 채널을 확인한 경우 (Artifex 제품이 아니기 때문에 Ghostscript.NET에서이 작업을 수행하는 방법을 설명 할 수 없음) 글리프가 누락되었다는 경고가 표시됩니다.

PDF 파일을 사용할 수있게 만든 경우에만 볼 수 있습니다. 사용중인 Ghostscript의 버전을 아는 것도 도움이 될 것입니다.

+0

나는 pdf 파일을 업로드했다. 저를 도와주세요. 감사합니다. – askquestionzero

+0

음, 기본적으로 파일은 광의로 지나치게 복잡합니다. 압축되지 않은 파일의 크기가 4.2MB가되는 여러 형태와 가짜 투명도를 포함합니다. 양식 중 하나에 "(3 '\) 3'\) 'HPR'HPR) Tj "이 포함되어 있습니다. 실제로 텍스트를 그립니다. 문제의 글꼴은 포함 된 CIDFont이며 사용중인 CMap은 글꼴에없는 문자 모양에이 글꼴을 매핑합니다. 그러므로 .notdef 결과. 기본적으로 PDF 파일은 엄청난 비효율적 인 것으로 드러납니다. '수정'하는 유일한 방법은 파일에서 텍스트를 제거하는 것입니다. – KenS

+0

그건 그렇고, Ghostscript는 오픈 소스가 '무료'는 아니지만, 그건 똑같은 것이 아닙니다. 라이센스가있는 AGPL의 조건을 준수하는지 확인하십시오. – KenS

관련 문제