Автор | Сообщение |
|
| |
Пост N: 39
Зарегистрирован: 23.02.06
|
|
Отправлено: 14.09.11 11:17. Заголовок: xHarbour: Как создать Pdf?
Привет, попробовал создать простенький PDF: HB_PDFNEW("pdf\temp.pdf",,a4_height,a4_width) hb_pdfnewpage("Test",'Test') HB_PDFWRITETEXT('Hello!') HB_pdfendpage() HB_PDFCLOSE() Error BASE/1132 Bound error: array access Called from TPDF:PDFCLOSEPAGE(428) Called from HB_PDFENDPAGE(136) Called from TESTPDF(567) В чем грабли? Описание не нашел, выдрал из GENPDF1.PRG Или может у кого есть простенький примерчик работы
|
|
|
Ответов - 2
[только новые]
|
|
|
| |
Пост N: 20
Зарегистрирован: 08.02.11
|
|
Отправлено: 15.09.11 00:46. Заголовок: Есть другой общеизве..
Есть другой общеизвестный путь - установить виртуальный ПДФ-принтер и печатать на него
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 15.09.11 07:21. Заголовок: Harbour -Pdf
Мне больше подошел пример с Harudpf.lib \hbhpdf . Исправил только небольшую опечатку вызова в примере для опции "Встраивать фонт в Pdf" Скрытый текст /* example.prg */ #include 'harupdf.ch' procedure main() Local TTName :="lucon.ttf" Local embed := HPDF_TRUE Local detail_font_name,def_font3 Local w,h Local atxt:={},i,a,b local pdf := HPDF_New() Local s1:= "012345679 123456789 123456789 123456789 123456789 123456789 123456789 123456789 " atxt:={; replicate("- ",40) ; } for i=1 to 60 aadd(atxt,s1) next i detail_font_name := HPDF_LoadTTFontFromFile (pdf, TTName, embed) HPDF_SetCompressionMode( pdf, HPDF_COMP_ALL ) HPDF_Page_SetSize( pdf, HPDF_PAGE_SIZE_A4, HPDF_PAGE_PORTRAIT) HPDF_SetPageMode( pdf, HPDF_PAGE_MODE_USE_OUTLINE ) page := HPDF_AddPage( pdf ) HPDF_Page_SetWidth(page , 595) HPDF_Page_SetHeight(page, 841) w:=HPDF_Page_gETwIDTH( page) h:=HPDF_Page_gETHeight( page) HPDF_Page_SetLineWidth( page, 0.5 ) // 595x841 def_font3 := HPDF_GetFont (pdf, detail_font_name, "CP1251") def_font1 := HPDF_GetFont( pdf, "Courier", "CP1251") def_font2 := HPDF_GetFont( pdf, "Times-Bold", "WinAnsiEncoding" ) HPDF_Page_BeginText( page ) // 595x841 // HPDF_Page_SetFontAndSize( page, def_font2, 10 ) HPDF_Page_SetFontAndSize( page, def_font3, 12 ) a= 20 b= 800 for i=1 to len(atxt) texto( page, a, b-12*i, atxt ) next i HPDF_Page_EndText( page ) HPDF_SaveToFile( pdf, 'test.pdf' ) HPDF_Free( pdf ) return NIL //////////////////////////////////////////////////////////////////////////// static function texto( page, col, lin, texto, fim, direita ) local tw direita := if( direita = NIL, .F., direita ) if fim = NIL col += 2 elseif ! direita tw := HPDF_Page_TextWidth( page, texto ) col += ( ( fim - col ) / 2 ) - ( tw / 2 ) endif if direita tw := HPDF_Page_TextWidth( page, texto ) col -= tw + 4 endif HPDF_Page_TextOut( page, col, lin, texto ) return NIL
|
|
|
|
|