←Select platform

LoadMetafile Method

Summary

Loads the specified RTF file as a Windows Enhanced Metafile.

Syntax
C#
VB
C++
public IntPtr LoadMetafile( 
   string fileName, 
   int pageNumber 
) 
Public Function LoadMetafile( _ 
   ByVal fileName As String, _ 
   ByVal pageNumber As Integer _ 
) As IntPtr 
public: 
IntPtr LoadMetafile(  
   String^ fileName, 
   int pageNumber 
)  

Parameters

fileName
The source RTF file.

pageNumber
The 1-based page number to load.

Return Value

The Windows Enhanced Metafile this method creates.

Remarks

This method uses the following members of the current CodecsRasterizeDocumentLoadOptions set in RasterCodecs.Options.RasterizeDocument.Load to determine the page size, resolution and margins:

Also, it uses the following members of the current CodecsRtfLoadOptions set in RasterCodecs.Options.Rtf.Load to determine the back color to use:

So you must set these options according to your application needs before calling this method. The number of pages inside the RTF file will depend on the Rasterize Document options.

You must destroy the Windows Enhanced Metafile (EMF) handle this method creates manually using the DeleteEnhMetaFile Windows API.

Example
C#
VB
using Leadtools; 
using Leadtools.Codecs; 
 
[DllImport("Gdi32")] 
private static extern int DeleteEnhMetaFile(IntPtr hemf); 
 
public void LoadRtfAsMetafileExample() 
{ 
   RasterCodecs codecs = new RasterCodecs(); 
 
   string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.rtf"); 
 
   // Load the source file as a metafile 
   IntPtr hemf = codecs.Options.Rtf.LoadMetafile(srcFileName, 1); 
 
   if (hemf != IntPtr.Zero) 
   { 
      // Use the metafile here 
 
      // Finally, delete it using the Windows API 
      DeleteEnhMetaFile(hemf); 
   } 
 
   // Clean up 
   codecs.Dispose(); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
 
<DllImport("Gdi32")> 
Private Shared Function DeleteEnhMetaFile(ByVal hemf As IntPtr) As Integer 
End Function 
 
Public Sub LoadRtfAsMetafileExample() 
   Dim codecs As New RasterCodecs() 
 
   Dim srcFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1.rtf") 
 
   ' Load the source file as a metafile 
   Dim hemf As IntPtr = codecs.Options.Rtf.LoadMetafile(srcFileName, 1) 
 
   If hemf <> IntPtr.Zero Then 
      ' Use the metafile here 
 
      ' Finally, delete it using the Windows API 
      DeleteEnhMetaFile(hemf) 
   End If 
 
   ' Clean up 
   codecs.Dispose() 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" 
End Class 

Requirements

Target Platforms

Help Version 20.0.2020.4.3
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Codecs Assembly