|
Erweiterte EMF/WMF-Metadatei-Unterstützung
Übersicht
HotPDF bietet nun eine deutlich verbesserte Unterstützung für Enhanced Metafile (EMF)- und Windows Metafile (WMF)-Formate; die neue Implementierung umfasst eine automatische Formaterkennung, mehrere Positionierungsoptionen, eine erweiterte Skalierungssteuerung und eine verbesserte Darstellungsqualität für Vektorgrafiken in PDF-Dokumenten
Wesentliche Verbesserungen
- Automatische EMF/WMF-Formaterkennung und entsprechende Verarbeitung
- Mehrere Positionierungsoptionen (zentriert, oben links, benutzerdefinierte Koordinaten)
- Erweiterte Skalierungs- und Seitenverhältnissteuerung
- Direktes EMF-Rendering zur Erhaltung von Vektorgrafiken
- Option zur Bitmap-Konvertierung für Kompatibilität
- Verbesserte Speicherverwaltung für große Metadateien
- Bessere Handhabung komplexer Vektorgrafiken und Texte
Optionen zur Positionssteuerung
Die verbesserte Metadatei-Unterstützung umfasst flexible Positionierungsoptionen:
- mpCenter:Metadatei auf der Seite zentriert (Standardverhalten)
- mpLeftTop:Metadatei in der linken oberen Ecke angezeigt (X=0, Y=0)
- mpCustom:Metadatei an der angegebenen Position angezeigt (erfordert X-, Y-Parameter)
Anwendungsbeispiele
Grundlegende Verwendung (standardmäßig zentrierte Anzeige)
// 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;
Positionssteuerung verwenden
// 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;
Erweiterte Methoden
Die verbesserte EMF/WMF-Unterstützung führt mehrere neue Methoden ein:
Überladungen von THotPDFPage.ShowMetafile
ShowMetafile(MetaFile: TMetafile) - Standardmäßig zentrierte Anzeige
ShowMetafile(MetaFile: TMetafile; Position: THPDFMetafilePosition) - Positionssteuerung
ShowMetafile(MetaFile: TMetafile; Position: THPDFMetafilePosition; X, Y: Single) - Benutzerdefinierte Positionierung
Erweiterte Verarbeitungsmethoden
EnhancedShowMetafile - Erweiterte Verarbeitung mit verbesserten Funktionen
RenderEmfDirect - Direkte EMF-Darstellung zur Erhaltung von Vektoren
RenderEmfAsBitmap - Bitmap-Konvertierung zur Kompatibilität
RenderWmfAsBitmap - WMF-Bitmap-Darstellung mit Positionssteuerung
Technische Implementierung
Die verbesserte EMF/WMF-Unterstützung ist in der Einheit HPDFEmf.pas implementiert, welche Folgendes bietet:
- THPDFEmfEnhanced:Kern-Erweiterungsklasse für die EMF-Verarbeitung
- THPDFEmfPatcher:Hilfsklasse für die EMF-Konvertierung und das Rendering
- THPDFMetafilePosition:Enumeration für die Positionssteuerung
- Erweiterte EMF-Record-Verarbeitung:Unterstützung für erweiterte EMF-Records
Erweiterte Funktionen
Unterstützung für EMF-Records
- EMR_BITBLT - Bitmap-Vorgänge
- EMR_STRETCHDIBITS - Gestreckte Bitmap-Vorgänge
- EMR_ALPHABLEND - Alpha-Blending-Vorgänge
- Erweiterte Textdarstellung
- Komplexe Pfadoperationen
Rendering-Optionen
- Erhalt von Vektoren:Erhält die Qualität von Vektorgrafiken
- Bitmap-Fallback:Automatischer Fallback für komplexe Grafiken
- Skalierungsoptionen:Automatische und manuelle Skalierungssteuerung
- Qualitätskontrolle:Konfigurierbare Einstellungen für die Darstellungsqualität
Leistungsoptimierungen
- Speichereffiziente Verarbeitung für große Metadateien
- Optimiertes EMF-Record-Parsing
- Intelligentes Caching für wiederholte Elemente
- Reduzierter Speicherbedarf während der Konvertierung
Kompatibilität und Standards
- Unterstützung für Windows EMF 1.0 und Enhanced EMF
- Abwärtskompatibilität für Windows Metafile (WMF)
- Plattformübergreifende Konsistenz bei der Darstellung
- Konformität mit PDF-Vektorgrafikstandards
Fehlerbehebung
Häufige Probleme und Lösungen:
- Große Metadateien:Verwenden Sie Bitmap-Rendering für sehr große oder komplexe Metadateien
- Textdarstellung:Stellen Sie sicher, dass Schriftarten auf dem Zielsystem verfügbar sind
- Komplexe Grafiken:Erwägen Sie die direkte EMF-Darstellung für eine bessere Qualität
- Positionierungsprobleme:Verwenden Sie benutzerdefinierte Positionierung für eine präzise Platzierung
Siehe auch
|