Ich verwende den folgenden Code, um ein Word-Dokument in eine Bilddatei zu konvertieren. Aber das Bild erscheint zu groß, und der Inhalt passt nicht hinein - gibt es eine Möglichkeit, das Bild zu rendern oder auf die richtige Größe zu speichern?
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);
}
}