Показать PDF в приложении Firemonkey
Как я могу просмотреть файлы PDF в моем приложении Firemonkey?
Я пытался добавить Adobe Reader ActiveX в свой проект, но у меня есть ошибка!
3 ответа
Я сейчас показываю pdf в firemonkey с Adobe Pdf Reader Active X, вот код:
ACRO := TAcroPDF.Create( Self );
ACRO.Width := Width;
ACRO.Height := Height;
ACRO.ParentWindow := FmxHandleToHWND( Self.Handle );
ACRO.LoadFile( 'C:\ProgramData\teste.PDF' );
// if focus no set, user need click on activeX component
ACRO.SetFocus;
Примечание: вам нужно добавить использует "FMX.PlatForm.Win" и импортировать activeX в ваш проект. Обычно генерируемый файл является "AcroPDFLib_TLB.pas", вам нужно добавить это для использования.
Вы не можете разместить элементы управления ActiveX в firemonkey. Я не знаю ни одного компонента отображения PDF для Firemonkey, но если бы он был, его пришлось бы реализовывать отдельно или с большим количеством условных определений, чтобы он мог работать как в Mac OS X, так и в Windows.
Я знаю, как можно поместить одну форму Firemonkey в приложение VCL, но не знаю, как можно сделать наоборот. Короче говоря, не существует простого способа сделать это, и кратчайший путь - написать собственный компонент, который должен был бы каким-то образом размещать просмотрщик PDF как объект OLE или элемент управления ActiveX в Windows, и реализовываться каким-либо другим способом. Mac OS X.
3 решения:
Если вы должны встроить: попробуйте встроенный браузер.
DelphiChromiumEmbedded работает под FireMonkey (см. Демонстрацию)
Согласно WikiPedia, Chromium поставляется с поддержкой PDF, встроенной начиная с версии 6.0.
В противном случае вы всегда можете запустить внешний просмотрщик.
В худшем случае: конвертируйте ваши PDF в HTML