导出当前视图为BMP、JPG、PDF等格式
2008-03-19 10:27
501 查看
导出当前视图为BMP、JPG、PDF等格式
public void PageExport()
{
SaveFileDialog pSaveDlg = new SaveFileDialog();
pSaveDlg.Title = "导出图形";
pSaveDlg.DefaultExt = "pdf";
pSaveDlg.Filter = "PDF (*.pdf)|*.pdf|TIFF (*.tif)|*.tif|BMP (*.bmp)|*.bmp|JPEG (*.jpg)|*.jpg|GIF (*.gif)|*.gif|EMF (*.emf)|*.emf|SVG (*.svg)|*.svg|AI (*.ai)|*.ai";
pSaveDlg.FilterIndex = 1;
pSaveDlg.RestoreDirectory = true;
pSaveDlg.OverwritePrompt = true;
if (pSaveDlg.ShowDialog() == DialogResult.OK)
{
string pFilePath = pSaveDlg.FileName;
IActiveView pActiveView = AxPageLayoutControl1.ActiveView;
IExport pExport;
tagRECT exportFrame;
IEnvelope pEnv;
int hdc;
int dpi;
exportFrame = pActiveView.ExportFrame;
pEnv = new EnvelopeClass();
pEnv.PutCoords(exportFrame.left, exportFrame.top, exportFrame.right, exportFrame.bottom);
switch (pSaveDlg.FilterIndex)
{
case 1://pdf
pExport = new ExportPDFClass();
dpi = (int)pExport.Resolution;
pExport.PixelBounds = pEnv;
pExport.ExportFileName = pSaveDlg.FileName;
pExport.Resolution = (short)dpi;
hdc = pExport.StartExporting();
pActiveView.Output(hdc, dpi, ref exportFrame, null, null);
pExport.FinishExporting();
break;
case 2://tif
pExport = new ExportTIFFClass();
dpi = (int)pExport.Resolution;
pExport.PixelBounds = pEnv;
pExport.ExportFileName = pSaveDlg.FileName;
pExport.Resolution = (short)dpi;
hdc = pExport.StartExporting();
pActiveView.Output(hdc, dpi, ref exportFrame, null, null);
pExport.FinishExporting();
break;
case 3://bmp
pExport = new ExportBMPClass();
dpi = (int)pExport.Resolution;
pExport.PixelBounds = pEnv;
pExport.ExportFileName = pSaveDlg.FileName;
pExport.Resolution = (short)dpi;
hdc = pExport.StartExporting();
pActiveView.Output(hdc, dpi, ref exportFrame, null, null);
pExport.FinishExporting();
break;
case 4://jpg
pExport = new ExportJPEGClass();
dpi = (int)pExport.Resolution;
pExport.PixelBounds = pEnv;
pExport.ExportFileName = pSaveDlg.FileName;
pExport.Resolution = (short)dpi;
hdc = pExport.StartExporting();
pActiveView.Output(hdc, dpi, ref exportFrame, null, null);
pExport.FinishExporting();
break;
case 5://gif
pExport = new ExportGIFClass();
dpi = (int)pExport.Resolution;
pExport.PixelBounds = pEnv;
pExport.ExportFileName = pSaveDlg.FileName;
pExport.Resolution = (short)dpi;
hdc = pExport.StartExporting();
pActiveView.Output(hdc, dpi, ref exportFrame, null, null);
pExport.FinishExporting();
break;
case 6://emf
pExport = new ExportEMFClass();
dpi = (int)pExport.Resolution;
pExport.PixelBounds = pEnv;
pExport.ExportFileName = pSaveDlg.FileName;
pExport.Resolution = (short)dpi;
hdc = pExport.StartExporting();
pActiveView.Output(hdc, dpi, ref exportFrame, null, null);
pExport.FinishExporting();
break;
case 7://svg
pExport = new ExportSVGClass();
dpi = (int)pExport.Resolution;
pExport.PixelBounds = pEnv;
pExport.ExportFileName = pSaveDlg.FileName;
pExport.Resolution = (short)dpi;
hdc = pExport.StartExporting();
pActiveView.Output(hdc, dpi, ref exportFrame, null, null);
pExport.FinishExporting();
break;
case 8://ai
pExport = new ExportAIClass();
dpi = (int)pExport.Resolution;
pExport.PixelBounds = pEnv;
pExport.ExportFileName = pSaveDlg.FileName;
pExport.Resolution = (short)dpi;
hdc = pExport.StartExporting();
pActiveView.Output(hdc, dpi, ref exportFrame, null, null);
pExport.FinishExporting();
break;
default:
break;
}
MessageBox.Show("导出完毕!");
}
视图导出主要用到IExport 接口,在旧版本中采用IExporter接口,AE9以后替代为IExport,而且导出的类型也有增加。
public void PageExport()
{
SaveFileDialog pSaveDlg = new SaveFileDialog();
pSaveDlg.Title = "导出图形";
pSaveDlg.DefaultExt = "pdf";
pSaveDlg.Filter = "PDF (*.pdf)|*.pdf|TIFF (*.tif)|*.tif|BMP (*.bmp)|*.bmp|JPEG (*.jpg)|*.jpg|GIF (*.gif)|*.gif|EMF (*.emf)|*.emf|SVG (*.svg)|*.svg|AI (*.ai)|*.ai";
pSaveDlg.FilterIndex = 1;
pSaveDlg.RestoreDirectory = true;
pSaveDlg.OverwritePrompt = true;
if (pSaveDlg.ShowDialog() == DialogResult.OK)
{
string pFilePath = pSaveDlg.FileName;
IActiveView pActiveView = AxPageLayoutControl1.ActiveView;
IExport pExport;
tagRECT exportFrame;
IEnvelope pEnv;
int hdc;
int dpi;
exportFrame = pActiveView.ExportFrame;
pEnv = new EnvelopeClass();
pEnv.PutCoords(exportFrame.left, exportFrame.top, exportFrame.right, exportFrame.bottom);
switch (pSaveDlg.FilterIndex)
{
case 1://pdf
pExport = new ExportPDFClass();
dpi = (int)pExport.Resolution;
pExport.PixelBounds = pEnv;
pExport.ExportFileName = pSaveDlg.FileName;
pExport.Resolution = (short)dpi;
hdc = pExport.StartExporting();
pActiveView.Output(hdc, dpi, ref exportFrame, null, null);
pExport.FinishExporting();
break;
case 2://tif
pExport = new ExportTIFFClass();
dpi = (int)pExport.Resolution;
pExport.PixelBounds = pEnv;
pExport.ExportFileName = pSaveDlg.FileName;
pExport.Resolution = (short)dpi;
hdc = pExport.StartExporting();
pActiveView.Output(hdc, dpi, ref exportFrame, null, null);
pExport.FinishExporting();
break;
case 3://bmp
pExport = new ExportBMPClass();
dpi = (int)pExport.Resolution;
pExport.PixelBounds = pEnv;
pExport.ExportFileName = pSaveDlg.FileName;
pExport.Resolution = (short)dpi;
hdc = pExport.StartExporting();
pActiveView.Output(hdc, dpi, ref exportFrame, null, null);
pExport.FinishExporting();
break;
case 4://jpg
pExport = new ExportJPEGClass();
dpi = (int)pExport.Resolution;
pExport.PixelBounds = pEnv;
pExport.ExportFileName = pSaveDlg.FileName;
pExport.Resolution = (short)dpi;
hdc = pExport.StartExporting();
pActiveView.Output(hdc, dpi, ref exportFrame, null, null);
pExport.FinishExporting();
break;
case 5://gif
pExport = new ExportGIFClass();
dpi = (int)pExport.Resolution;
pExport.PixelBounds = pEnv;
pExport.ExportFileName = pSaveDlg.FileName;
pExport.Resolution = (short)dpi;
hdc = pExport.StartExporting();
pActiveView.Output(hdc, dpi, ref exportFrame, null, null);
pExport.FinishExporting();
break;
case 6://emf
pExport = new ExportEMFClass();
dpi = (int)pExport.Resolution;
pExport.PixelBounds = pEnv;
pExport.ExportFileName = pSaveDlg.FileName;
pExport.Resolution = (short)dpi;
hdc = pExport.StartExporting();
pActiveView.Output(hdc, dpi, ref exportFrame, null, null);
pExport.FinishExporting();
break;
case 7://svg
pExport = new ExportSVGClass();
dpi = (int)pExport.Resolution;
pExport.PixelBounds = pEnv;
pExport.ExportFileName = pSaveDlg.FileName;
pExport.Resolution = (short)dpi;
hdc = pExport.StartExporting();
pActiveView.Output(hdc, dpi, ref exportFrame, null, null);
pExport.FinishExporting();
break;
case 8://ai
pExport = new ExportAIClass();
dpi = (int)pExport.Resolution;
pExport.PixelBounds = pEnv;
pExport.ExportFileName = pSaveDlg.FileName;
pExport.Resolution = (short)dpi;
hdc = pExport.StartExporting();
pActiveView.Output(hdc, dpi, ref exportFrame, null, null);
pExport.FinishExporting();
break;
default:
break;
}
MessageBox.Show("导出完毕!");
}
视图导出主要用到IExport 接口,在旧版本中采用IExporter接口,AE9以后替代为IExport,而且导出的类型也有增加。
相关文章推荐
- 将当前视图范围内的地图导出Jpg格式的图片
- 一次导出Word中的所有图形,可以是JPG,BMP,PNG,GIF,EMF,TIF格式
- pdf转换成jpg格式的在线转换方法分享
- 借助于jasperreports与jfreechart以xls,html,pdf格式导出报表
- 教你怎样把jpg转换成pdf格式
- jpg如何转换pdf格式
- 常见图片格式简单分析总结--JPG、PNG、GIF、BMP
- pdf文件转换成jpg图片格式的四种方法
- php 将bmp图片转为jpg等其他任意格式的图片
- 如何将jpg转换成pdf图片格式
- 如何将jpg转换成pdf格式的图片
- cad如何转换为pdf,jpg,png等格式
- MarkdownPad2导出PDF文字大小及格式问题处理
- java项目中pdf转图片格式(jpg)
- powerDisigner链接mysql 生成数据库物理视图,并导出word格式的数据库说明文档
- itext将html字符串以pdf格式导出
- 水晶报表导出为pdf, word , excel 格式(已经测试过,实现了该功能)
- [已解决]MSTR报表以PDF格式导出后中文汉字不能显示
- JPG,png,GIF,BMP四种常见图像格式的对比