Всем привет.
Есть документ со сканированными картинками. Нужно извлечь их. Пример кода:
string src = PDFSourcePath;
PdfReader reader = null;
try {
reader = new PdfReader(src);
for (int i = 0; i <= reader.NumberOfPages - 1; i++) {
try {
PdfDictionary page = reader.GetPageN(i);
PdfDictionary resources = page.GetAsDict(PdfName.RESOURCES);
PdfDictionary xobjects = resources.GetAsDict(PdfName.XOBJECT);
int j=0;
foreach (PdfName imgRef in xobjects.Keys) {
j++;
try {
PRStream imgStream = (PRStream) xobjects.GetAsStream(imgRef);
PdfImageObject imgObject = new PdfImageObject(imgStream);
System.Drawing.Image ImgPDF = imgObject.GetDrawingImage();
string image_ext = GetImageExtention(ImgPDF);
ByteArrayToFile(System.IO.Path.GetDirectoryName(PDFSourcePath) + "\\image"+i+"."+j+".jpg", imgObject.GetImageAsBytes());
ImgPDF.Save(System.IO.Path.GetDirectoryName(PDFSourcePath) + "\\image." + i + "." + j + ".png", ImageFormat.Png);
}
catch (Exception _ex) {
}
}
}catch(Exception _ex01) {
}
}
}
catch(Exception _ex) {
}
finally {
if (reader != null) {
reader.Close();
}
}
Но вместо нормального изображения получаю только thumnail-ы изображений, но с большими размерами в байтах. открываю, а там одни квадраты и куски текста:
Никто не сталкивался? Можно как-то извлечь изображения нормального качества?
P.S.
При просмотре PDF-reader наблюдаю, как эти tumbnail-ы появляются на долю секунды и потом заменяются уже нормальными изображениями.