Полагаю, вы хотите, чтобы ваше приложение создавало PDF-контент из поля интерфейса пользователя.
Это можно легко сделать из кода, используя генератор отчетов из кода, а затем механизм PDF .
Мы предлагаем решение с открытым исходным кодом только для этого , от Delphi 6 до XE.
Вот выдержка из кода из одной демонстрации , которые создают отчеты, используя некоторые поля пользовательского интерфейса в качестве источника (например, edt1.Text или mmo1.Text):
procedure TForm1.btn1Click(Sender: TObject);
(...)
with TGDIPages.Create(self) do
try
// the name of the report is taken from main Window's caption
Caption := self.Caption;
// now we add some content to the report
BeginDoc;
(...)
// main content (automaticaly split on next pages)
NewHalfLine;
TextAlign := taJustified;
s := 'This is some big text which must be justified on multiple lines. ';
DrawText(s+s+s+s);
NewLine;
TextAlign := taLeft;
DrawTitle(edt1.Text,true);
for i := 1 to 10 do
DrawText('This is some text '+IntToStr(i));
NewLine;
DrawBMP(Bmp,maxInt,50,'Some bitmap in the report');
AddBookMark('bookmarkname');
WordWrapLeftCols := true;
AddColumns([10,20,50]);
AddColumnHeaders(['#','Two','Three'],true,true);
for i := 1 to 100 do
DrawTextAcrossCols([IntToStr(i),'Column '+IntToStr(i),'Some text here. '+s]);
NewLine;
DrawBMP(Bmp,maxInt,50,'Some bitmap in the report (twice)');
DrawTitle('This is your text',false,0,'','bookmarkname');
DrawText(mmo1.Text);
EndDoc;
// set optional PDF export options
// ExportPDFForceJPEGCompression := 80;
// ExportPDFEmbeddedTTF := true;
// ExportPDFUseUniscribe := true;
// ExportPDFA1 := true;
// show a preview form, and allow basic actions via the right click menu
// ShowPreviewForm;
// export as PDF
ExportPDF('test.pdf',false);
finally
Free;
end;
Есть и другие решения, но это Open Source, и вы можетедаже рисовать в отчете все, что вы хотите (используя «стандартное» свойство TCanvas - вы можете даже напрямую использовать любой графический компонент, используя метод PaintTo), а не только специальные методы, генерируемые отчетами, такие как DrawTitle () или DrawText ().* РЕДАКТИРОВАТЬ:
Если ваш вопрос был о создании файлов PDF с формами, эта библиотека не будет работать.
Вы должны использовать некоторые библиотеки с закрытым исходным кодом, такие как VeryPdf оr QuickPdf . Google твой друг .