|
پشتیبانی پیشرفته از Metafileهای EMF/WMF
نمای کلی
HotPDF اکنون پشتیبانی بسیار پیشرفتهتری برای قالبهای Enhanced Metafile (EMF) و Windows Metafile (WMF) ارائه میکند
پیادهسازی جدید شامل تشخیص خودکار قالب، چندین گزینه جایگذاری، کنترل پیشرفته مقیاسگذاری
و کیفیت بهتر رندر برای گرافیک برداری در اسناد PDF است
بهبودهای اصلی
- تشخیص خودکار قالب EMF/WMF و پردازش مناسب
- چندین گزینه جایگذاری (مرکز، بالا-چپ، مختصات سفارشی)
- کنترل بهتر مقیاسگذاری و نسبت تصویر
- رندر مستقیم EMF برای حفظ گرافیک برداری
- گزینه تبدیل به bitmap برای سازگاری
- مدیریت حافظه بهتر برای metafileهای بزرگ
- رسیدگی بهتر به گرافیک برداری پیچیده و متن
گزینههای کنترل جایگذاری
پشتیبانی پیشرفته از metafile گزینههای جایگذاری انعطافپذیر را در بر میگیرد:
- mpCenter: Metafile در مرکز صفحه قرار میگیرد (رفتار پیشفرض)
- mpLeftTop: Metafile در گوشه بالا-چپ نمایش داده میشود (X=0, Y=0)
- mpCustom: Metafile در موقعیت مشخصشده نمایش داده میشود (نیازمند پارامترهای X و Y)
نمونههای استفاده
استفاده پایه (نمایش پیشفرض در مرکز)
// 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;
استفاده از کنترل جایگذاری
// 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;
روشهای پیشرفته
پشتیبانی پیشرفته EMF/WMF چند روش جدید معرفی میکند:
بارگذاریهای THPDFPage.ShowMetafile
ShowMetafile(MetaFile: TMetafile) - نمایش پیشفرض در مرکز
ShowMetafile(MetaFile: TMetafile; Position: THPDFMetafilePosition) - کنترل جایگذاری
ShowMetafile(MetaFile: TMetafile; Position: THPDFMetafilePosition; X, Y: Single) - جایگذاری سفارشی
روشهای پردازش پیشرفته
EnhancedShowMetafile - پردازش پیشرفته با قابلیتهای توسعهیافته
RenderEmfDirect - رندر مستقیم EMF برای حفظ برداری
RenderEmfAsBitmap - تبدیل به bitmap برای سازگاری
RenderWmfAsBitmap - رندر bitmap برای WMF همراه با کنترل جایگذاری
پیادهسازی فنی
پشتیبانی پیشرفته EMF/WMF از طریق unit HPDFEmf.pas پیادهسازی شده است که این موارد را فراهم میکند:
- THPDFEmfEnhanced: کلاس اصلی توسعه برای پردازش EMF
- THPDFEmfPatcher: کلاس کمکی برای تبدیل و رندر EMF
- THPDFMetafilePosition: شمارشگر کنترل جایگذاری
- Enhanced EMF Record Processing: پشتیبانی از recordهای پیشرفته EMF
قابلیتهای پیشرفته
پشتیبانی از EMF Record
- EMR_BITBLT - Bitmap operations
- EMR_STRETCHDIBITS - Stretched bitmap operations
- EMR_ALPHABLEND - Alpha blending operations
- Enhanced text rendering
- Complex path operations
گزینههای رندر
- Vector Preservation: کیفیت گرافیک برداری را حفظ میکند
- Bitmap Fallback: بازگشت خودکار برای گرافیک پیچیده
- Scaling Options: کنترل خودکار و دستی مقیاسگذاری
- Quality Control: تنظیمات قابلپیکربندی برای کیفیت رندر
بهینهسازیهای عملکرد
- پردازش کممصرف برای metafileهای بزرگ
- Parser بهینهشده برای recordهای EMF
- کش هوشمند برای عناصر تکراری
- کاهش ردپای حافظه هنگام تبدیل
سازگاری و استانداردها
- پشتیبانی از Windows EMF 1.0 و Enhanced EMF
- سازگاری رو به عقب با Windows Metafile (WMF)
- یکنواختی رندر میانسکویی
- انطباق با استانداردهای گرافیک برداری PDF
عیبیابی
مشکلات رایج و راهحلها:
- Large Metafiles: برای metafileهای بسیار بزرگ یا پیچیده از رندر bitmap استفاده کنید
- Text Rendering: مطمئن شوید قلمها روی سیستم مقصد در دسترس هستند
- Complex Graphics: برای کیفیت بهتر رندر مستقیم EMF را در نظر بگیرید
- Positioning Issues: برای جایگذاری دقیق از موقعیت سفارشی استفاده کنید
همچنین ببینید
|