We're sorry Aspose doesn't work properply without JavaScript enabled.

Free Support Forum - aspose.com

Convert TIFF Multipage to DOC

Hi, i am trying to convert a Tiff multipage document to a Word document (.doc or .docx).

I think is not possible a direct conversion actually and you recommended create a new word document and insert the images of each Tiff page into.

This sollution is OK for me but i was searching examples and i am not found any. Can you show me how to can i do that?.

Thanks in advance.

Hi

Thanks for your request. You can use code like the following:

[Test]

public void Test001()

{

using (FileStream imageStream = File.OpenRead(@"C:\Temp\in.tif"))

{

// Load the image into another document the images.

imageStream.Position = 0;

Document imageDoc = LoadImage(imageStream);

// Save document

imageDoc.Save(@"C:\temp\out.doc");

}

}

///

/// Loads an image into Aspose.Words.Document object and rotates the image to 180 degrees.

///

/// Stream with an image.

public Document LoadImage(Stream inputStream)

{

// Create Aspose.Words.Document and DocumentBuilder.

// The builder makes it simple to add content to the document.

Document doc = new Document();

DocumentBuilder builder = new DocumentBuilder(doc);

// Read the image from file, ensure it is disposed.

using (Image image = Image.FromStream(inputStream))

{

// Get the number of frames in the image.

int framesCount = image.GetFrameCount(FrameDimension.Page);

// Loop through all frames.

for (int frameIdx = 0; frameIdx < framesCount; frameIdx++)

{

// Insert a section break before each new page, in case of a multi-frame TIFF.

if (frameIdx != 0)

builder.InsertBreak(BreakType.SectionBreakNewPage);

// Select active frame.

image.SelectActiveFrame(FrameDimension.Page, frameIdx);

// We want the size of the page to be the same as the size of the image.

// Convert pixels to points to size the page to the actual image size.

PageSetup ps = builder.PageSetup;

ps.PageWidth = ConvertUtil.PixelToPoint(image.Width, image.HorizontalResolution);

ps.PageHeight = ConvertUtil.PixelToPoint(image.Height, image.VerticalResolution);

// Insert the image into the document and position it at the top left corner of the page.

Shape shape = builder.InsertImage(

image,

RelativeHorizontalPosition.Page,

0,

RelativeVerticalPosition.Page,

0,

ps.PageWidth,

ps.PageHeight,

WrapType.None);

}

}

return doc;

}

Hope this helps.


Best regards,