Forbedret støtte for EMF/WMF-metafiler

Oversikt

HotPDF gir nå betydelig bedre støtte for Enhanced Metafile (EMF) og Windows Metafile (WMF)-formater Den nye implementasjonen omfatter automatisk formatgjenkjenning, flere plasseringsvalg, avansert kontroll over skalering og bedre gjengivelseskvalitet for vektorgrafikk i PDF-dokumenter

Viktige forbedringer

  • Automatisk registrering av EMF/WMF-format og passende behandling
  • Flere plasseringsvalg (midtstilt, øverst til venstre, egendefinerte koordinater)
  • Forbedret kontroll over skalering og sideforhold
  • Direkte EMF-gjengivelse for å bevare vektorgrafikk
  • Alternativ for bitmapkonvertering for kompatibilitet
  • Bedre minnehåndtering for store metafiler
  • Bedre håndtering av kompleks vektorgrafikk og tekst

Valg for posisjonskontroll

Den forbedrede metafilstøtten inkluderer fleksible plasseringsvalg

  • mpCenter: Metafilen midtstilles på siden (standardatferd)
  • mpLeftTop: Metafilen vises øverst til venstre (X=0, Y=0)
  • mpCustom: Metafilen vises på angitt posisjon (krever parameterne X og Y)

Brukseksempler

Grunnleggende bruk (standard sentrert visning)


// 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;
        

Bruk av posisjonskontroll


// 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;
        

Forbedrede metoder

Den forbedrede EMF/WMF-støtten introduserer flere nye metoder

THPDFPage.ShowMetafile-overlaster

  • ShowMetafile(MetaFile: TMetafile) - Standard sentrert visning
  • ShowMetafile(MetaFile: TMetafile; Position: THPDFMetafilePosition) - Posisjonskontroll
  • ShowMetafile(MetaFile: TMetafile; Position: THPDFMetafilePosition; X, Y: Single) - Egendefinert plassering

Forbedrede behandlingsmetoder

  • EnhancedShowMetafile - Avansert behandling med forbedrede funksjoner
  • RenderEmfDirect - Direkte EMF-gjengivelse for å bevare vektorgrafikk
  • RenderEmfAsBitmap - Bitmapkonvertering for kompatibilitet
  • RenderWmfAsBitmap - WMF-bitmapgjengivelse med posisjonskontroll

Teknisk implementering

Den forbedrede EMF/WMF-støtten er implementert gjennom enheten HPDFEmf.pas, som gir:

  • THPDFEmfEnhanced: Kjerneklasse for forbedringer ved EMF-behandling
  • THPDFEmfPatcher: Hjelpeklasse for EMF-konvertering og gjengivelse
  • THPDFMetafilePosition: Oppregning for posisjonskontroll
  • Enhanced EMF Record Processing: Støtte for avanserte EMF-poster

Avanserte funksjoner

Støtte for EMF-poster

  • EMR_BITBLT - Bitmap operations
  • EMR_STRETCHDIBITS - Stretched bitmap operations
  • EMR_ALPHABLEND - Alpha blending operations
  • Forbedret tekstgjengivelse
  • Komplekse baneoperasjoner

Gjengivelsesvalg

  • Bevaring av vektorgrafikk: Beholder kvaliteten på vektorgrafikk
  • Bitmap-reserve: Automatisk reserve for kompleks grafikk
  • Skaleringsvalg: Automatisk og manuell kontroll over skalering
  • Kvalitetskontroll: Konfigurerbare innstillinger for gjengivelseskvalitet

Ytelsesforbedringer

  • Minneeffektiv behandling av store metafiler
  • Optimalisert tolkning av EMF-poster
  • Intelligent hurtiglager for gjentatte elementer
  • Mindre minnebruk under konvertering

Kompatibilitet og standarder

  • Støtte for Windows EMF 1.0 og Enhanced EMF
  • Bakoverkompatibilitet med Windows Metafile (WMF)
  • Konsekvent gjengivelse på tvers av plattformer
  • Overholdelse av standarder for vektorgrafikk i PDF

Feilsøking

Vanlige problemer og løsninger:

  • Store metafiler: Bruk bitmapgjengivelse for svært store eller komplekse metafiler
  • Tekstgjengivelse: Sørg for at skrifter er tilgjengelige på målsystemet
  • Kompleks grafikk: Vurder direkte EMF-gjengivelse for bedre kvalitet
  • Plasseringsproblemer: Bruk egendefinert plassering for presis plassering

Se også