|
Enhanced EMF/WMF Metafile Support
Pregled
HotPDF sada pruža znatno poboljšanu podršku za Enhanced Metafile (EMF) i Windows Metafile (WMF) formate Nova implementacija uključuje automatsko otkrivanje formata, više opcija pozicioniranja, naprednu kontrolu skaliranja i poboljšan kvalitet renderovanja vektorske grafike u PDF dokumentima
Key Enhancements
- Automatsko otkrivanje EMF/WMF formata i odgovarajuća obrada
- Više opcija pozicioniranja (centar, gore levo, prilagođene koordinate)
- Poboljšana kontrola skaliranja i odnosa stranica
- Direktno EMF renderovanje radi očuvanja vektorske grafike
- Opcija konverzije u bitmap radi kompatibilnosti
- Poboljšano upravljanje memorijom za velike metafile
- Bolje rukovanje složenom vektorskom grafikom i tekstom
Opcije kontrole pozicije
Poboljšana podrška za metafajlove uključuje fleksibilne opcije pozicioniranja:
- mpCenter: metafile centriran na stranici (podrazumevano ponašanje)
- mpLeftTop: Metafile displayed at the top-left corner (X=0, Y=0)
- mpCustom: Metafile displayed at specified position (requires X, Y parameters)
Primeri upotrebe
Osnovna upotreba (podrazumevano centriran prikaz)
// Delphi primer - Podrazumevano centriran prikaz
procedure ShowMetafileDefault;
var
PDF: THotPDF;
MetaFile: TMetafile;
begin
PDF := THotPDF.Create(nil);
MetaFile := TMetafile.Create;
try
PDF.BeginDoc;
PDF.AddPage;
// Učitajte metafajl
MetaFile.LoadFromFile('diagram.emf');
// Prikažite centrirano na stranici (podrazumevano)
PDF.CurrentPage.ShowMetafile(MetaFile);
PDF.EndDoc;
finally
MetaFile.Free;
PDF.Free;
end;
end;
Upotreba kontrole pozicije
// Delphi primer - Napredno pozicioniranje
procedure ShowMetafileAdvanced;
var
PDF: THotPDF;
MetaFile: TMetafile;
begin
PDF := THotPDF.Create(nil);
MetaFile := TMetafile.Create;
try
PDF.BeginDoc;
PDF.AddPage;
MetaFile.LoadFromFile('chart.wmf');
// Prikaz u gornjem levom uglu
PDF.CurrentPage.ShowMetafile(MetaFile, mpLeftTop);
// Prikaz na prilagođenoj poziciji
PDF.CurrentPage.ShowMetafile(MetaFile, mpCustom, 100, 200);
PDF.EndDoc;
finally
MetaFile.Free;
PDF.Free;
end;
end;
Poboljšane metode
Poboljšana EMF/WMF podrška uvodi nekoliko novih metoda:
Preopterećenja THPDFPage.ShowMetafile
ShowMetafile(MetaFile: TMetafile) - Podrazumevano centriran prikaz
ShowMetafile(MetaFile: TMetafile; Position: THPDFMetafilePosition) - Kontrola pozicije
ShowMetafile(MetaFile: TMetafile; Position: THPDFMetafilePosition; X, Y: Single) - Prilagođeno pozicioniranje
Poboljšane metode obrade
EnhancedShowMetafile - Napredna obrada sa poboljšanim mogućnostima
RenderEmfDirect - Direktno EMF renderovanje radi očuvanja vektora
RenderEmfAsBitmap - Konverzija u bitmap radi kompatibilnosti
RenderWmfAsBitmap - WMF bitmap renderovanje sa kontrolom pozicije
Tehnička implementacija
Poboljšana EMF/WMF podrška je implementirana kroz jedinicu HPDFEmf.pas, koja obezbeđuje:
- THPDFEmfEnhanced: Osnovna klasa poboljšanja za EMF obradu
- THPDFEmfPatcher: Pomoćna klasa za EMF konverziju i renderovanje
- THPDFMetafilePosition: Nabrajanje za kontrolu pozicije
- Enhanced EMF Record Processing: Podrška za napredne EMF zapise
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
- Vector Preservation: Maintains vector graphics quality
- Bitmap Fallback: Automatic fallback for complex graphics
- Scaling Options: Automatic and manual scaling control
- Quality Control: Configurable rendering quality settings
Performance Optimizations
- Memory-efficient processing for large metafiles
- Optimized EMF record parsing
- Intelligent caching for repeated elements
- Reduced memory footprint during conversion
Compatibility and Standards
- Windows EMF 1.0 and Enhanced EMF support
- Windows Metafile (WMF) backward compatibility
- Cross-platform rendering consistency
- PDF vector graphics standards compliance
Troubleshooting
Common Issues and Solutions:
- Large Metafiles: Use bitmap rendering for very large or complex metafiles
- Text Rendering: Ensure fonts are available on the target system
- Complex Graphics: Consider direct EMF rendering for better quality
- Positioning Issues: Use custom positioning for precise placement
Vidi i
|