IM utilisant le scanner TWAIN & gdiplus.dll.numériser et enregistrer au format PDF dans C#
i scannée le fichier, et peut enregistrer en tant que format d'image comme * .jpg, * .bmp
mais il est permet pas d'enregistrer comme au format PDF. Affichage d'une image de format inconnu.
c'est le code,
bool public static SaveDIBAs (chaîne nomImage, 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.****
Scanner quel fichier? – ceejayoz
La fonction 'GdipSaveImageToFile' ne prend pas en charge le format PDF. –