PDA

Դիտել ողջ տարբերակը : PDF-ի արտածում PHP-ի միջոցով



david
27.02.2009, 14:55
Ժողովուրդ php - ով pdf գեներացնել.

Քաշեցի ինտերնետից php_pdf.dll, գցեցի php/ext - ի մեջ,
php.ini - ում ավելացրեցի extension=php_pdf.dll տողը

Բայց ելի չի ստացվում տալիս է հետևյալ հաղորդագրությունը:

Fatal error: Call to undefined function pdf_new() in C:\www\Apache2\pages\pdf\index.php on line 8

Ինչու չի գեներացնում, ինչն եմ կիատ անում

Արիացի
27.02.2009, 15:10
Ժողովուրդ php - ով pdf գեներացնել.

Քաշեցի ինտերնետից php_pdf.dll, գցեցի php/ext - ի մեջ,
php.ini - ում ավելացրեցի extension=php_pdf.dll տողը

Բայց ելի չի ստացվում տալիս է հետևյալ հաղորդագրությունը:

Fatal error: Call to undefined function pdf_new() in C:\www\Apache2\pages\pdf\index.php on line 8

Ինչու չի գեներացնում, ինչն եմ կիատ անում

Չգիտեի, որ PHP-ն տենց հնարավորություն ունի :hands
Քո գրածով, ոնց որ սաղ ճիշտ ես անում: Հլա մի հատ սկրիպտիդ մեջից կանչի phpinfo() ֆունկցիան, նայի տես քո նշած extension-ը ճանաչում է? Հետո կարող ա վերսիաների տարբերություն լինի: Օրինակ մի անգամ, ես 5.1.4 վերսիայի PDO extenstion-ը 5.2.0-ի վրա փորձում էի նստացնել, ու ոչ մի ձև չստացվեց: Նենց որ ամենահավանականը վերսիաների անճշտությունն է:

david
27.02.2009, 16:33
չի ստացվում ինչոր մի բան էն չի
Ինտերնետում ման եկա ասվում էր pdflib - ի մասին , քաշեցի install արեցի
Արդյունք չի տալիս

Եթե տեղյակ էք խնդրին կխնդրեմ հնարաորին մանրամասն նկարագրեք տեղադրումը

Նախապես շնորհակալ եմ

david
02.03.2009, 15:43
log երում հետևյալ տողն է
PHP Warning: PHP Startup: Unable to load dynamic library 'c:/php/ext\\php_pdf.dll' - %1 is not a valid Win32 application.\r\n in Unknown on line 0

Xelgen
03.03.2009, 01:46
log երում հետևյալ տողն է
PHP Warning: PHP Startup: Unable to load dynamic library 'c:/php/ext\\php_pdf.dll' - %1 is not a valid Win32 application.\r\n in Unknown on line 0

Փորձիր ավելի հին կամ ավելի նոր տարբերակը քաշել, կարող ես դեռ դեվելոփմենտի մեջ եղած տարբերակը քաշել փորձել։

Մեկ էլ շատ էին գովում TCPDF (http://www.tcpdg.org)-ը, ամեն դեպքում մի հատ ես նախագծի վրա ուշադրություն դարձրու։

Չգիտեմ հիմա ոնց, մի 2 տարի առաջ պհպ-ի հարազտ պդֆ գրադարանը շատ պրոբլեմներ ուներ, այդ թվում էնկոդինգ/ֆոնտերի հետ։

david
03.03.2009, 11:43
Ինտերնետից մի նոր php_pdf.dll քաշեցի, էս վերջինը ճափսով մեծ է (540 kb), նախորդը փոքր էր(172 kb), Տեղադրելուց հետո ճիշտ է արդյունք չտվեց բայց error log ում հաղորդագռությունը մի քիչ փոխվել է

Unable to load dynamic library 'c:/php/ext/php_pdf.dll' - The specified module could not be found.\r\n in Unknown on line 0

Իսկ մի գուցե ինչ որ բան պակաս է ???

TCPDF - ի հետ կծանոթանանք (ցանկալի է pdf - ից հետո )

Xelgen
03.03.2009, 11:51
Ինտերնետից մի նոր php_pdf.dll քաշեցի, էս վերջինը ճափսով մեծ է (540 kb), նախորդը փոքր էր(172 kb), Տեղադրելուց հետո ճիշտ է արդյունք չտվեց բայց error log ում հաղորդագռությունը մի քիչ փոխվել է

Unable to load dynamic library 'c:/php/ext/php_pdf.dll' - The specified module could not be found.\r\n in Unknown on line 0

Իսկ մի գուցե ինչ որ բան պակաս է ???

TCPDF - ի հետ կծանոթանանք (ցանկալի է pdf - ից հետո )

:)
TCPDF-ը հենց pdf սարքելու կլասս է, որը ֆունկցիաների մեծ մասը անելու համար ոչ մի գրադարանի տեղադրում չի պահանջում։

Հիմա ուրիշ հարց, իմ մոտ համրյա երկու տարվա ՊՀՊ-է դրած վինդուզում, ու նախ դրա մեջ այդ գրադարանը արդեն կար իսկզբանե, ես չէի քաշել հաստատ, երկրորդաը ինքը դեռ են ժամանակ 679,993 բայթ էր, ու մի քիչ կասկածելի է, եթե նորը ավելի փոքր է։

Ինչ ՊՀՊ փաթեթե է (որտեղից), ինչ տարբերակ, ինչ ՕՀ։

david
03.03.2009, 13:45
Ինձ մոտ դրված է առանձին-առանձին
apache_2.0.55-win32-x86-no_ssl.msi
php-5.2.0-Win32.zip
mysql-5.0.18-win32.zip

Փատետ ասելով նկատի ունես օրինակ.DENWER, WAMP, ... ?
Անկեղծ ասած ես լսել էի որ գրքդքրքնը պետք է լիներ , բայց փաստ է որ չկա.
Տրված հղումով դիմեցի էջը չբացվեց, ճիշտ է ես դեռ կորոնեմ, բայց եթե գիտես էլ որռեղ կա կասես քաշեմ?

Xelgen
03.03.2009, 14:03
Չէ-չէ, Աստված հեռու պահի դենվեռ/վամպ և այլնում նման բան անելուց, այդ փաթեթները միայն ֆլեշկայի վրա քցելու համար են ըստ ինձ պիտանի, երբ պետք է ուրիշ տեղ ինչ-որ մի բան ցուցադրել։

Փաթեթ ասելով ինկատի ունեյի պեկլ-ով թե առանց, ինստալլերը տեսքվ թե արխիվով։
Իմ մոտ ըստ երևույթի պեկլով ինստալլեր էր։

Հիմա pecl4win-ը չի աշխատում, որտեղի՞ց էիր քաշում ետ ֆայլը։

Հա, իսկ հղումի մեջ տառասխալ խար՝ tcpdf.org

david
03.03.2009, 14:05
Xelgen ջան TCPDF class - ից գտա, աշխատեցրի, բավականին հարմար բան է երևի թե հենց դաէլ օգտագործեմ

ԱՆՉԱՓ ՇՆՈՐՀԱԿԱԼ ԵՄ, եթե դեմ չես ես դեռ էլի կդիմեմ քեզ այլ հարցերով

david
12.03.2009, 17:14
Xelgen ես կրկին ձեր օգնության կարիքն ունեմ

tcpdf - ը կիրառելիս երբ արդեն պտք է գեներացնի տալիս է հետևյալ հաղորդագրությունը

CPDF error: Some data has already been output, can't send PDF file

Xelgen
13.03.2009, 16:16
Հեադեր-ները ստուգե՞լ ես։
Կարո՞ղ ես ստեղ նշել ամբողջ օութփութը ապաչից։

Մի քիչ մանրամանս գրիր էլի հարցերը :)

david
13.03.2009, 16:34
MySQL - ից կանչվող տվյալները գրանցում եմ text.txt - ի մեջ, որից հետո օգտվելով tcpdf - ում առկա example - երից example11.php- ից, գրանցում եմ աղյուսակի մեջ, արդեն pdf դոկումենտով:
Հետաքրքիրն այն է, որ լոկալ համակարգչի վրա(WindowsXP), նորմալ աշխատում է , իսկ երբ տեղադրում եմ սերվերի վրա (Windows2000 Advansed server) ահա այդ հաղորդագրությունն է հայտնվում:
Անկեղծ ասած սերվերի վրա AdobeArobat7 - ը տեղադրեցի tcpdf - ը դնելուց հետո:Սերվերըդեռ restart չեմ արել: Մտացում եմ վերջի վերջո Windows2000 - է, միգուցե restart է ուզում: Կարող է և սխալվում եմ:
Ես չեմ կարողանում հասկանալ տարբերությունը

Ներսես_AM
13.03.2009, 16:58
Մոդերատորական: david Խնդրում և պահանջում եմ ամեն մի առանձին կոդի կտորի համար առանձին թեմա չբացել: Թեմայի վերնագրին ընտրել հնարավորինց հասկանալի: Խնդիրը ներկայացնել հնարավորինս հանգամանալից, և ոչ թե մենակ եռռօռ տեքստը դնել, որպեսզի մարդիկ առանց երկար բարակ հարցերի կարողանան հնարավորինս շուտ ձեզ պատասխանել: Վերջերս միացրել էմ ձեր կողմից բացված 6 թեմա կապված MySQL-ի հետ:

Xelgen
13.03.2009, 17:23
MySQL - ից կանչվող տվյալները գրանցում եմ text.txt - ի մեջ, որից հետո օգտվելով tcpdf - ում առկա example - երից example11.php- ից, գրանցում եմ աղյուսակի մեջ, արդեն pdf դոկումենտով:
Հետաքրքիրն այն է, որ լոկալ համակարգչի վրա(WindowsXP), նորմալ աշխատում է , իսկ երբ տեղադրում եմ սերվերի վրա (Windows2000 Advansed server) ահա այդ հաղորդագրությունն է հայտնվում:
Անկեղծ ասած սերվերի վրա AdobeArobat7 - ը տեղադրեցի tcpdf - ը դնելուց հետո:Սերվերըդեռ restart չեմ արել: Մտացում եմ վերջի վերջո Windows2000 - է, միգուցե restart է ուզում: Կարող է և սխալվում եմ:
Ես չեմ կարողանում հասկանալ տարբերությունը

Չեմ կարծքում որ ԱդոբԱկրոբատը որևէ ազդեցություն ունենա։
Կրկին, մի հատ նայի թե ինչ հեադերներ ես ստանում։

Մեկ այլ բան՝ օպեն սորս է վերջապես, նայի TCPDFի կոդը, ո՞ր դեպքում է նման սխալ ինքը տալիս։

david
16.03.2009, 09:27
Xelgen pdf - ը գեներացնող կոդը սա է
<?php
//============================================================+
// File name : example_011.php
// Begin : 2008-03-04
// Last Update : 2008-05-28
//
// Description : Example 011 for TCPDF class
// Colored Table
//
// Author: Nicola Asuni
//
// (c) Copyright:
// Nicola Asuni
// Tecnick.com s.r.l.
// Via Della Pace, 11
// 09044 Quartucciu (CA)
// ITALY
// www.tecnick.com
// [email protected]
//============================================================+

/**
* Creates an example PDF TEST document using TCPDF
* @package com.tecnick.tcpdf
* @abstract TCPDF - Example: Colored Table
* @author Nicola Asuni
* @copyright 2004-2008 Nicola Asuni - Tecnick.com S.r.l (www.tecnick.com) Via Della Pace, 11 - 09044 - Quartucciu (CA) - ITALY - www.tecnick.com - [email protected]
* @link http://tcpdf.org
* @license http://www.gnu.org/copyleft/lesser.html LGPL
* @since 2008-03-04
*/

require_once('tcpdf/config/lang/eng.php');
require_once('tcpdf/tcpdf.php');

// extend TCPF with custom functions
class MYPDF extends TCPDF {

//Load table data from file
public function LoadData($file) {
//Read file lines
$lines=file($file);
$data=array();
foreach($lines as $line)
$data[]=explode(';',chop($line));
return $data;
}

//Colored table
public function ColoredTable($header,$data) {
//Colors, line width and bold font
$this->SetFillColor(255,0,0);
$this->SetTextColor(255);
$this->SetDrawColor(128,0,0);
$this->SetLineWidth(.3);
$this->SetFont('','B');
//Header
$w=array(40,35,40,45);
for($i=0;$i<count($header);$i++)
$this->Cell($w[$i],7,$header[$i],1,0,'C',1);
$this->Ln();
//Color and font restoration
$this->SetFillColor(224,235,255);
$this->SetTextColor(0);
$this->SetFont('');
//Data
$fill=0;
foreach($data as $row) {
$this->Cell($w[0],15,$row[0],'LR',0,'L',$fill);
$this->Cell($w[1],15,$row[1],'LR',0,'L',$fill);
$this->Cell($w[2],15,$row[2],'LR',0,'L',$fill);
$this->Cell($w[3],15,$row[3],'LR',0,'L',$fill);
$this->Cell($w[4],15,$row[4],'LR',0,'L',$fill);
$this->Cell($w[5],15,$row[5],'LR',0,'L',$fill);
$this->Ln();
$fill=!$fill;
}
$this->Cell(array_sum($w),0,'','T');
}
}

// create new PDF document
$pdf = new MYPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true);

// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor("Nicola Asuni");
$pdf->SetTitle("TCPDF Example 011");
$pdf->SetSubject("TCPDF Tutorial");
$pdf->SetKeywords("TCPDF, PDF, example, test, guide");

// set default header data
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE, PDF_HEADER_STRING);

// set header and footer fonts
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));

//set margins
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);

//set auto page breaks
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);

//set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);

//set some language-dependent strings
$pdf->setLanguageArray($l);

//initialize document
$pdf->AliasNbPages();

// add a page
$pdf->AddPage();

// ---------------------------------------------------------

// set font
$pdf->SetFont("dejavusans", "", 10);

//Column titles
$header=array('Country','Capital','Area (sq km)','Pop. (thousands)', 'a1', 'a2');

//Data loading
//$data=$pdf->LoadData('text.txt');
//$file_name1 = "'".$file_name."'";
$data=$pdf->LoadData($file_name);

// print colored table
$pdf->ColoredTable($header,$data);

// ---------------------------------------------------------

//Close and output PDF document
$pdf->Output("example_011.pdf", "I");

//============================================================+
// END OF FILE
//============================================================+
?>

$data=$pdf->LoadData($file_name); - ի
$file_name = "text.txt";

Ես չեմ կարող հասկանալ , ոնց կարող է WindowsXP - ում սա նորմալ աշխատի, իսկ Windows2000 Advanwced Server - ում չաշխատի

david
16.03.2009, 12:57
ԳՏԱԱԱԱԱԱԱԱԱԱԱԱԱԱԱԱԱԱԱԱԱԱԱԱԱԱԱԱԱԱԱԱԱ
Xelgen print version - ը առանձնացրեցի ու ամեն ինչ ստացվեց:

Բայց այստեղ հարց է առաջանում font երի մասին

david
16.03.2009, 13:42
Ինձ պետք է որպեսզի pdf - ում տպվի times Armenian
Ինչպես լուծել խնդիրը

Chuk
16.03.2009, 17:02
Ինձ պետք է որպեսզի pdf - ում տպվի times Armenian
Ինչպես լուծել խնդիրը

Դավ, կոդը-մոդը չեմ նայել, բայց նենց պատահաբար աչքիս սենց տող ընկավ.

// set font
$pdf->SetFont("dejavusans", "", 10);

;)

david
16.03.2009, 17:15
Արտ ջան եդ տողի մեջ է ամբողջ խնդիրը
TCPDF կլասսի մեջ ստանդարտ տրված են font - եր, բայց բոլորը unicode
Իսկ ինձ պետք է Times Armenian, որը ոչ մի տեղ ինտերնետում չեմ գտնում

Ներսես_AM
16.03.2009, 17:31
ոչ յունիքոդ ֆոնտերից ինչքան հեռու մնաս էնքան գլուխդ խախանդ կլինի պրոբլեմներից: Ավելի լավ է նման յունիքոդ ֆոնտ վերցրու ու օգտագործի: Պլյուս մի բարի գործ կատարած կլինես, կնպաստես ոչ յունիքոդ ֆոնտերի ինքնալիկվիդացմանը:

david
16.03.2009, 17:46
Լիովին համաձայն եմ բայց ստացվող բազան արդեն լցված է ոչ յունիկոդ
Բազան փոխելն լուրջ չի, որովհետև այն ահռելի մեծ է
Ստիպված պետք է հարցը լուծեմ
Եթե որևէ լուծում կառաջարկեք լավ կլինի

Chuk
16.03.2009, 18:53
Բազան փոխելն լուրջ չի, որովհետև այն ահռելի մեծ է
Ստիպված պետք է հարցը լուծեմ
Թույլ տուր չհամաձայնվել: Ոչ միայն լուրջ է, այլև չափազանց լուրջ ու կարևոր է: Սկսենք նրանից, որ դրանով կխուսափես ոչ միայն այս պրոբլեմից, այլև բազմաթիվ այլ խնդիրներից: Իսկ բազան փոխելը լրիվ ռեալ ու իրականանալի է, դժվար չէ:

Դրա համար ընդամենը պուճուրիկ սկրիպտ է պետք գրել, որ կարդում է բազայի տվյալ վանդակի ինֆորմացիան, այն փոխակերպում է յունիկոդի, փոխակերպվածը գրում հնի փոխարեն: Դրանից հետո ընդամենը սկրիպտը խոդ ես տալիս ու գալիս ես մեր տուն կոֆե խմելու ;)

david
17.03.2009, 08:55
Արտ ջան սուրճին դեմ չեմ, այ որ կոդնով էլ օգնես, ընդհանրապես դեմ չեմ լինի

david
17.03.2009, 12:08
Ժող մի լուծում ասեք
php - ով mysql - ից տվյալ կանչելիս ինձ պետք է որ տվյալները աստիճանաբար հայտնվեն էկրանին( թե չե սերվերը ամբողջը գեներացնում է html - ի ու նոր հանում էկրանին, ինչը երկար է տևում)

Xelgen
22.03.2009, 13:38
Xelgen print version - ը առանձնացրեցի ու ամեն ինչ ստացվեց:

Էէ.. չհասկացա, դու միաժամանկ համ ՀՏՄԼ համ ՊԴՖ-էիր ուզո՞ւմ տալ։

Ինչ վերաբերվում է, կոդիրովկային, ապա միանշանակ միանում եմ Արտակի ու Ներսեսի ասածներին՝ ՄԻԱՆՇԱՆԱԿ փոխել և աշխատել յունիկոդում։
Սաղ մի կողմ՝ դա վաղ թե ուշ պետք է արվի, և բնականբար ավելի լավ է, հեշտ է և էժան դա շուտ անել քան ուշ։ Իսկ թե յունիկոդի առավելությունները և առմսկիի թերությունները այդքան շատ են և հայտնի, որ անիմաստ էլ է գրել։

Ինչ վերաբերվում է բուֆերիզացման, ես գրել էի, բայց պատասխան չստացա, դու չափել, գտել ես թե որտե՞ղ է ինքը բոֆֆերիզացնում տվյալները։ Դա ճանապարհին հազար ու մի տեղ կարող է արվել։ Ծրագրիցդ սկած, բրաուզերով վերջացրած, օրինակ Օպերան քիչ է բուֆերիզացնում, և փոքր կտոր-կտոր է տալիս, ինչը նրա «արագոգործության» պատճառներից մեկն է։
Փորձի անմիջապես միանալ սեռվերին, թեկուզ տելնետ-ով, կամ կոնսոլից աշխատացրու պհպ-սկրիպտը։