2009-04-21 38 views
5

Tôi đang sử dụng mã bên dưới để chuyển đổi một Tài liệu Word thành một tệp hình ảnh. Nhưng hình ảnh xuất hiện quá lớn và nội dung không phù hợp - có cách nào để hiển thị hình ảnh hoặc lưu hình ảnh về kích thước không?Lưu tài liệu từ làm hình ảnh

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); 
     } 
    } 

Trả lời

0

Làm cách nào để in tài liệu dưới dạng TIFF bằng Microsoft Writer Image Writer?

0

Bạn cũng có thể định lại kích thước hình ảnh theo chương trình sau khi lưu.

1

chuyển nó sang bất cứ kích thước nó sẽ, sau đó sử dụng ImageMagick: http://www.imagemagick.org/script/index.php để thay đổi kích thước hoặc làm bất cứ điều gì khác sau khi chế biến bạn cần (nó có thể làm một LOT)

3

Nó bật ra được thực sự đơn giản:

private void renderImage(byte[] imageData) 
    { 
     using (MemoryStream ms = new MemoryStream(imageData)) 
     { 
      Image image = Image.FromStream(ms); 
      picImage.Image = image; 
     } 
    } 

Điều này hiển thị trang đầu tiên dưới dạng hình ảnh, nhưng cũng đủ dễ dàng để hiển thị các trang khác.

Nhờ tất cả những người đã trả lời

0

Sao chép nội dung vào Powerpoint (nếu nó có thể được sao chép) và sau đó bạn có thể lưu slide thành một hình ảnh của định dạng mong muốn

+3

này không trả lời câu hỏi thực tế , OP rõ ràng đang yêu cầu một giải pháp có lập trình. – twoleggedhorse

Các vấn đề liên quan