Enhanced EMF/WMF Metafile Support

Yleiskatsaus

HotPDF tarjoaa nyt merkittävästi parannetun tuen EMF- (Enhanced Metafile) ja WMF- (Windows Metafile) formaateille. Uusi toteutus sisältää automaattisen formaatintunnistuksen, useita sijoitteluvaihtoehtoja, edistyneen skaalauksen hallinnan ja paremman hahmontamislaadun vektorigrafiikalle PDF-dokumenteissa

Key Enhancements

  • Automaattinen EMF/WMF-muodon tunnistus ja asianmukainen käsittely
  • Useita sijoitusvaihtoehtoja (keskellä, ylävasemmalla, mukautetut koordinaatit)
  • Parannettu skaalaus ja kuvasuhteen hallinta
  • Suora EMF-hahmonnus vektorigrafiikan säilyttämiseksi
  • Bittikarttamuunnosvaihtoehto yhteensopivuutta varten
  • Parannettu muistinhallinta suurille metafiedostoille
  • Monimutkaisen vektorigrafiikan ja tekstin parempi käsittely

Position Control Options

Tehostettu metatiedostotuki sisältää joustavia sijoitteluvaihtoehtoja

  • mpCenter: Metafile centered on the page (default behavior)
  • mpLeftTop: Metatiedosto näytetään vasemmassa yläkulmassa (X=0, Y=0)
  • mpCustom: Metatiedosto näytetään määritetyssä sijainnissa (vaatii X- ja Y-parametrit)

Usage Examples

Basic Usage (Default Centered Display)


// Delphi example - Default centered display
procedure ShowMetafileDefault;
var
  PDF: THotPDF;
  MetaFile: TMetafile;
begin
  PDF := THotPDF.Create(nil);
  MetaFile := TMetafile.Create;
  try
    PDF.BeginDoc;
    PDF.AddPage;

    // Load metafile
    MetaFile.LoadFromFile('diagram.emf');

    // Display centered on page (default)
    PDF.CurrentPage.ShowMetafile(MetaFile);

    PDF.EndDoc;
  finally
    MetaFile.Free;
    PDF.Free;
  end;
end;
        

Position Control Usage


// Delphi example - Advanced positioning
procedure ShowMetafileAdvanced;
var
  PDF: THotPDF;
  MetaFile: TMetafile;
begin
  PDF := THotPDF.Create(nil);
  MetaFile := TMetafile.Create;
  try
    PDF.BeginDoc;
    PDF.AddPage;

    MetaFile.LoadFromFile('chart.wmf');

    // Top-left corner display
    PDF.CurrentPage.ShowMetafile(MetaFile, mpLeftTop);

    // Custom position display
    PDF.CurrentPage.ShowMetafile(MetaFile, mpCustom, 100, 200);

    PDF.EndDoc;
  finally
    MetaFile.Free;
    PDF.Free;
  end;
end;
        

Enhanced Methods

Tehostettu EMF/WMF-tuki tuo mukanaan useita uusia metodeja

THPDFPage.ShowMetafile Overloads

  • ShowMetafile(MetaFile: TMetafile) - Keskelle asetettu oletusnäyttö
  • ShowMetafile(MetaFile: TMetafile; Position: THPDFMetafilePosition) - Sijainnin ohjaus
  • ShowMetafile(MetaFile: TMetafile; Position: THPDFMetafilePosition; X, Y: Single) - Mukautettu sijoittelu

Enhanced Processing Methods

  • EnhancedShowMetafile - Edistynyt käsittely parannetuilla toiminnoilla
  • RenderEmfDirect - Suora EMF-renderöinti vektorien säilyttämiseksi
  • RenderEmfAsBitmap - Bittikarttamuunnos yhteensopivuutta varten
  • RenderWmfAsBitmap - WMF-bittikarttamuunnos sijainnin ohjauksella

Technical Implementation

Tehostettu EMF/WMF-tuki on toteutettu yksikössä HPDFEmf.pas, joka tarjoaa

  • THPDFEmfEnhanced: Core enhancement class for EMF processing
  • THPDFEmfPatcher: Utility class for EMF conversion and rendering
  • THPDFMetafilePosition: Luettelotyyppi sijainnin ohjausta varten
  • Tehostettu EMF-tietueiden käsittely: Tuki edistyneille EMF-tietueille

Advanced Features

EMF Record Support

  • EMR_BITBLT - Bitmap operations
  • EMR_STRETCHDIBITS - Stretched bitmap operations
  • EMR_ALPHABLEND - Alpha blending operations
  • Enhanced text rendering
  • Complex path operations

Rendering Options

  • Vektorien säilyminen: Säilyttää vektorigrafiikan laadun
  • Bitmap Fallback: Automaattinen bittikarttavararatkaisu monimutkaiselle grafiikalle
  • Skaalausvaihtoehdot: Automaattinen ja manuaalinen skaalauksen ohjaus
  • Laadunvalvonta: Konfiguroitavat renderöintilaadun asetukset

Performance Optimizations

  • Muistitehokas käsittely suurille metafiedostoille
  • Optimized EMF record parsing
  • Älykäs välimuisti toistuville elementeille
  • Reduced memory footprint during conversion

Yhteensopivuus ja standardit

  • Windows EMF 1.0- ja tehostettu EMF-tuki
  • Windows Metafile (WMF) backward compatibility
  • Cross-platform rendering consistency
  • PDF vector graphics standards compliance

Troubleshooting

Yleiset ongelmat ja ratkaisut:

  • Suuret metatiedostot: Käytä bittikarttamuunnosta erittäin suurille tai monimutkaisille metatiedostoille
  • Tekstin renderöinti: Varmista, että fontit ovat saatavilla kohdejärjestelmässä
  • Monimutkainen grafiikka: Harkitse suoraa EMF-renderöintiä paremman laadun saavuttamiseksi
  • Sijoitteluongelmat: Käytä mukautettua sijoittelua tarkkaa sijoittamista varten

See Also