2015-01-22 3 views

ответ

0

Не уверен, что это бесплатно. Вы посмотрели PDFToolKit?

Если вам случится, вот фрагмент кода, иллюстрирующий:

procedure PrintReceipt(bSaveToFile: Boolean; iInvoicesid: Integer; mDatabase: TAlpineAdoConnection; eaObject: TEAObject); 
var 
    pdf: TgtPDFDocument; 

begin 
    try 
    pdf := TgtPDFDocument.create(self); 
    pdf.LoadFromFile('c:\temp\mypdf.pdf'); 
    pdf.TextOut('<font size="8">'+'Hello world'+'</font>',630,170); 
    pdf.SaveToFile('c:\temp\updated.pdf'); 
    finally 
    pdf.free; 

    end; 
end; 
+0

$ 350 :(И можно ли использовать что-то вроде индекса предметов вместо х, у? – user1762186

+0

Это ответ на другой вопрос. Аскер хочет заполнить формы PDF, а не генерировать PDF-файлы. –

+0

@ DavidHeffernan 'c: \ temp \ mypdf.pdf' уже может иметь контент. «TextOut» позволит вам накладывать текст на этот контент. –

2

Первое место, которое я искал бы, чтобы увидеть погоду Adobe Reader имеет автоматизации для этого, когда я сделал я первый нашел это: Acrobat Forms Data Format (FDF) Toolkit

Если вы загружаете версию Windows и смотрите в папке FDF Toolkit for Windows\Headers and Libraries\WIN\FdfAcX\, вы найдете DLL, которую вы можете зарегистрировать в regsvr32.exe, а затем получить доступ к COM. Если вы используете инструмент «Импорт типа библиотеки» из Delphi, вы можете создать его обертку COM/ActiveX, чтобы вы могли использовать объекты FdfApp и FdfDoc.

я должен выглядеть в документации, но с беглого взгляда на FDFACX.IDL, это выглядит, как вы можете использовать FDFNextFieldName, чтобы узнать об именах полей, и FDFSetValue установить их значение.

+0

. В случае, если это помогает, [this] (https://gist.github.com/stijnsanders/527806f66ad3a1139d7d) - это то, что Delphi 7 генерирует как оболочку. Я также узнал, что вам нужны 'FDF.DLL',' FDFTK.DLL' и 'FDFACX.DLL' в тот же каталог, чтобы он хорошо реагировал на regsvr32. –

+0

Хм я пробую следующую процедуру кода TfrZadaniaMain.btnWypisyClick (Sender: TObject); var Aplikacja: TFdfApp; Документ: TFdfDoc; начало Aplikacja: = TFdfApp.Create (Self); Aplikacja.FDFOpenFromFile ('C: \ P3.pdf'); конец; но я получаю ошибку «FDFErcBadPDF» :( – user1762186

+0

. Если вы посмотрите вокруг, [например, это] (https://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/FDFtkRef.pdf) Я думаю, что 'FDFOpenFromFile' ожидает файл ** F ** DF, а не ** P ** DF, более подробно рассмотрим' FDFAddTemplate' –

Смежные вопросы