【发布时间】:2014-08-18 22:57:11
【问题描述】:
我正在使用以下代码将 Word Doc 转换为图像文件。但是图片显得太大了,内容放不下——有没有办法渲染图片或者保存图片大小?
private void btnConvert_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(txtFileName.Text))
{
MessageBox.Show("Choose a document to convert", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
txtFileName.Focus();
return;
}
ApplicationClass wordApp = new ApplicationClass();
object objectMissing = Missing.Value;
try
{
object fileName = txtFileName.Text;
FileStream fs = new FileStream(fileName.ToString(), FileMode.Open, FileAccess.Read);
Byte[] data = new Byte[fs.Length];
fs.Read(data, 0, data.Length);
Document doc = wordApp.Documents.Open(ref fileName, ref objectMissing, ref objectMissing, ref objectMissing, ref objectMissing, ref objectMissing, ref objectMissing,
ref objectMissing, ref objectMissing, ref objectMissing, ref objectMissing, ref objectMissing, ref objectMissing,
ref objectMissing, ref objectMissing, ref objectMissing);
byte[] range = (byte[]) wordApp.ActiveDocument.Content.EnhMetaFileBits;
if (range != null)
{
MemoryStream ms = new MemoryStream(range);
Metafile mf = new Metafile(ms);
picImage.Height = mf.Height;
picImage.Width = mf.Width;
mf.Save("c:\\test.png", ImageFormat.Png);
picImage.Image = Image.FromFile("c:\\test.png");
}
}
finally
{
wordApp.Quit(ref objectMissing, ref objectMissing, ref objectMissing);
}
}
【问题讨论】: