개정판 504c5aa1
page count가 0인 경우 오류로 출력하도록 수정
Change-Id: Iadd016e39e7116d583407a4b59f6766b9516515e
ConvertService/ServiceBase/Markus.Service.Convert/ConvertService.cs | ||
---|---|---|
219 | 219 |
|
220 | 220 |
gMarkusPDF.pdfLoad(saveitem.PdfFilePath, saveitem.MinimumFontSize, saveitem.UseResolution); |
221 | 221 |
|
222 |
/// 설정된 MultiThreadMaxPages에 따른 컨버터 분기 |
|
223 |
if (gMarkusPDF.PageCount() > ConvertProcessContext.MultiThreadMaxPages) |
|
222 |
if(gMarkusPDF.PageCount() > 0) |
|
224 | 223 |
{ |
225 |
// 큰 사이즈의 파일 컨버팅 |
|
226 |
result = ConvertBigFileProcess(saveitem); |
|
227 |
} |
|
228 |
else |
|
229 |
{ |
|
230 |
/// 작은 사이즈의 컨버팅 |
|
231 |
await Task.Factory.StartNew(new Action(() => |
|
224 |
/// 설정된 MultiThreadMaxPages에 따른 컨버터 분기 |
|
225 |
if (gMarkusPDF.PageCount() > ConvertProcessContext.MultiThreadMaxPages) |
|
232 | 226 |
{ |
233 |
result = gSaveTask.SaveFile(saveitem); |
|
234 |
}), TaskCreationOptions.LongRunning); |
|
235 |
} |
|
227 |
// 큰 사이즈의 파일 컨버팅 |
|
228 |
result = ConvertBigFileProcess(saveitem); |
|
229 |
} |
|
230 |
else |
|
231 |
{ |
|
232 |
/// 작은 사이즈의 컨버팅 |
|
233 |
await Task.Factory.StartNew(new Action(() => |
|
234 |
{ |
|
235 |
result = gSaveTask.SaveFile(saveitem); |
|
236 |
}), TaskCreationOptions.LongRunning); |
|
237 |
} |
|
236 | 238 |
|
237 |
// 파일 체크 후 갯수가 안맞으면 다시 컨버팅한다. |
|
238 |
if (ReConvert < 1 && (result.PageInfoList.Count() != saveitem.TotalPages |
|
239 |
|| Directory.EnumerateFiles(saveitem.SavePath, "*.png").Count() != saveitem.TotalPages |
|
240 |
|| Directory.EnumerateFiles(saveitem.SavePath, "*.jpg").Count() != saveitem.TotalPages)) |
|
241 |
{ |
|
242 |
result.StatusCode = StatusCodeType.PageError; |
|
243 |
result.Message = LogHelper.GetStack() + " " +"Page Count Error"; |
|
244 |
ReConvert = 1; |
|
239 |
// 파일 체크 후 갯수가 안맞으면 다시 컨버팅한다.
|
|
240 |
if (ReConvert < 1 && (result.PageInfoList.Count() != saveitem.TotalPages
|
|
241 |
|| Directory.EnumerateFiles(saveitem.SavePath, "*.png").Count() != saveitem.TotalPages
|
|
242 |
|| Directory.EnumerateFiles(saveitem.SavePath, "*.jpg").Count() != saveitem.TotalPages))
|
|
243 |
{
|
|
244 |
result.StatusCode = StatusCodeType.PageError;
|
|
245 |
result.Message = LogHelper.GetStack() + " " +"Page Count Error";
|
|
246 |
ReConvert = 1;
|
|
245 | 247 |
|
246 |
result = ConvertBigFileProcess(saveitem); |
|
247 |
} |
|
248 |
result = ConvertBigFileProcess(saveitem);
|
|
249 |
}
|
|
248 | 250 |
|
249 |
/// 페이지 정보 저장 |
|
250 |
if (result.PageInfoList?.Count() > 0) |
|
251 |
{ |
|
252 |
bool docSetResult = false; |
|
253 | 251 |
|
254 |
using (Markus.Service.DataBase.ConvertDatabase database = new Markus.Service.DataBase.ConvertDatabase(ConvertProcessContext.ConnectionString)) |
|
252 |
/// 페이지 정보 저장 |
|
253 |
if (result.PageInfoList?.Count() > 0) |
|
255 | 254 |
{ |
256 |
List<EntityModel.DOCPAGE> docPageList = new List<EntityModel.DOCPAGE>();
|
|
255 |
bool docSetResult = false;
|
|
257 | 256 |
|
258 |
docPageList = result.PageInfoList.Select(f => new EntityModel.DOCPAGE
|
|
257 |
using (Markus.Service.DataBase.ConvertDatabase database = new Markus.Service.DataBase.ConvertDatabase(ConvertProcessContext.ConnectionString))
|
|
259 | 258 |
{ |
260 |
ID = GuidExtension.shortGuid(), |
|
261 |
PAGE_WIDTH = f.Width.ToString(), |
|
262 |
PAGE_HEIGHT = f.Height.ToString(), |
|
263 |
PAGE_NUMBER = f.PageNo |
|
264 |
}).ToList(); |
|
259 |
List<EntityModel.DOCPAGE> docPageList = new List<EntityModel.DOCPAGE>(); |
|
265 | 260 |
|
266 |
docSetResult = database.SetDocumentInfo(saveitem.Id, result.PageInfoList.Count, docPageList); |
|
267 |
} |
|
261 |
docPageList = result.PageInfoList.Select(f => new EntityModel.DOCPAGE |
|
262 |
{ |
|
263 |
ID = GuidExtension.shortGuid(), |
|
264 |
PAGE_WIDTH = f.Width.ToString(), |
|
265 |
PAGE_HEIGHT = f.Height.ToString(), |
|
266 |
PAGE_NUMBER = f.PageNo |
|
267 |
}).ToList(); |
|
268 | 268 |
|
269 |
if (docSetResult) |
|
270 |
{ |
|
271 |
result.StatusCode = StatusCodeType.Completed; |
|
269 |
docSetResult = database.SetDocumentInfo(saveitem.Id, result.PageInfoList.Count, docPageList); |
|
270 |
} |
|
271 |
|
|
272 |
if (docSetResult) |
|
273 |
{ |
|
274 |
result.StatusCode = StatusCodeType.Completed; |
|
275 |
} |
|
276 |
else |
|
277 |
{ |
|
278 |
result.StatusCode = StatusCodeType.FileError; |
|
279 |
result.Message = LogHelper.GetStack() + " " + $"Doc Set Error. {result.Message}"; |
|
280 |
} |
|
272 | 281 |
} |
273 | 282 |
else |
274 | 283 |
{ |
275 | 284 |
result.StatusCode = StatusCodeType.FileError; |
276 |
result.Message = LogHelper.GetStack() + " " + $"Doc Set Error. {result.Message}";
|
|
285 |
result.Message = LogHelper.GetStack() + " " + $"Page List Get Error. {result.Message} ";
|
|
277 | 286 |
} |
278 | 287 |
} |
279 | 288 |
else |
280 | 289 |
{ |
290 |
result.Message = $"File Error Page Count:0 - File path : { saveitem.PdfFilePath}"; |
|
281 | 291 |
result.StatusCode = StatusCodeType.FileError; |
282 |
result.Message = LogHelper.GetStack() + " " +$"Page List Get Error. {result.Message} "; |
|
283 | 292 |
} |
293 |
|
|
284 | 294 |
} |
285 | 295 |
else |
286 | 296 |
{ |
내보내기 Unified diff