TWAIN 스캐너 & gdiplus.dll을 사용하여 메신저하십시오. 스캔하여 PDF로 저장 #
내가 파일을 스캔하고,을 .bmp로 * .JPG * 같은 이미지 형식으로 저장할 수 있지만 PDF 형식으로 저장할 수 없습니다. 알 수없는 형식의 사진 오류를 표시합니다. 이 코드입니다
,
공공 정적 부울 SaveDIBAs (문자열 picname, IntPtr입니다 bminfo, IntPtr입니다의 pixdat) {
SaveFileDialog sd = new SaveFileDialog();
sd.FileName = picname;
sd.Title = "Save bitmap as...";
sd.Filter = "PDF (*.pdf)|*.pdf";
sd.Filter = "Bitmap file (*.bmp)|*.bmp|TIFF file (*.tif)|*.tif|JPEG file (*.jpg)|*.jpg|PNG file (*.png)|*.png|PDF file (*.pdf)|*.pdf|All files (*.*)|*.*";
sd.FilterIndex = 1;
if (sd.ShowDialog() == DialogResult.OK)
return false;
Guid clsid;
if (!GetCodecClsid(sd.FileName, out clsid))
{
//MessageBox.Show("Unknown picture format for extension " + Path.GetExtension(sd.FileName),
"Image Codec", MessageBoxButtons.OK, MessageBoxIcon.Information);
return false;
}
IntPtr img = IntPtr.Zero;
int st = GdipCreateBitmapFromGdiDib(bminfo, pixdat, ref img);
if((st != 0) || (img == IntPtr.Zero))
return false;
st = GdipSaveImageToFile(img, sd.FileName, ref clsid, IntPtr.Zero);
GdipDisposeImage(img);
return st == 0;
}
[DllImport("gdiplus.dll", ExactSpelling=true)]
internal static extern int GdipCreateBitmapFromGdiDib(IntPtr bminfo, IntPtr pixdat, ref IntPtr image);
[DllImport("gdiplus.dll", ExactSpelling=true, CharSet=CharSet.Unicode)]
internal static extern int GdipSaveImageToFile(IntPtr image, string filename, [In] ref Guid clsid, IntPtr encparams);
[DllImport("gdiplus.dll", ExactSpelling=true)]
internal static extern int GdipDisposeImage(IntPtr image);
}
****The above code doesnt allow to save as in PDF format.****
어떤 파일을 검색합니까? – ceejayoz
'GdipSaveImageToFile' 함수는 PDF 형식을 지원하지 않습니다. –