|
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å
|