Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Schimbare adresa DNS IPv4 pe rout...

Recomandare Barebone

Monede JO 2024

Suprasolicitare sistem electric
 CIV auto import

Mutare in MOZAMBIC - pareri, expe...

Scoatere antifurt airtag de pe ha...

Magnet in loc de clește pent...
 Cumparat/Locuit in apartament si ...

Pot folosi sistemul PC pe post de...

Sokol cu distorsiuni de cross-over

Filtru apa potabila cu osmoza inv...
 Kanal D va difuza serialul “...

Upgrade xiaomi mi11

securitate - acum se dau drept - ...

Farmacia Dr Max - Pareri / Sugest...
 

instalare pdflib lite pe windows

- - - - -
  • Please log in to reply
12 replies to this topic

#1
CTU99

CTU99

    Active Member

  • Grup: Members
  • Posts: 1,410
  • Înscris: 31.01.2007
E posibil sa folosesc PDFlib Lite 7.0.5, cu PHP 5.5.12 din WAMP 2.5, pe Windows 7 ?

Daca da, atunci, cum il compilez ? Cum se procedeaza cu compilarea, ca nu prea inteleg din readme ? Ce anume trebuie compilat ? E suficient sa compilez numai proiectul "pdflib" pt a obtine libraria "pdflib.lib", sau mai trebuiesc compilate si alte proiecte ? Sa il compilez cu Visual Studio 6 cum spune in readme, sau il pot compila si cu GCC ? Fisierul sau fisierele obtinute dupa compilare, cum se instaleaza in PHP, si cum trebuie configurat PHP ca sa se poata accesa api-ul pdflib pentru a putea genera pdf-uri ?

Sau varianta lite nu se poate folosi cu php pe windows, si cu php pe windows se poate folosi numai varianta full, adica phplib 9 ?

Edited by CTU99, 29 July 2014 - 23:00.


#2
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,236
  • Înscris: 24.02.2007
Daca-l compilez tu, preferabil ar fi cu acelasi compilator cu care ti-e compilat php-ul instalat.
Cel mai usor il compilezi cu msys, la modul ./configure, make. Si pui dll-ul rezultat alaturi de celelalte extensii.

Ai insa neaparat nevoie de PDFlib?
Mai demult am folosit http://www.fpdf.org/ pentru treburi de baza si era ok.

#3
CTU99

CTU99

    Active Member

  • Grup: Members
  • Posts: 1,410
  • Înscris: 31.01.2007
Da, trebuie sa folosesc neaparat PDFlib, neaparat varianta lite, versiunea 7.0.5, fiindca asta e instalat pe serverul web. Numai ca imi trebuie si local, pe windows, si din readme-ul si documentatia din arhiva cu codul sursa pt pdflib, nu inteleg cum se instaleaza pt windows.

View Postdani.user, on 29 iulie 2014 - 22:54, said:

Daca-l compilez tu, preferabil ar fi cu acelasi compilator cu care ti-e compilat php-ul instalat.
Cel mai usor il compilezi cu msys, la modul ./configure, make. Si pui dll-ul rezultat alaturi de celelalte extensii.

Cum se procedeaza, mai specific, cu msys, ./configure, make ? Intru cu cd in directorul cu fisierele configure si make, scriu ./configure, dau enter, scriu make, enter, si incepe compilarea ? Cu msys, dupa compilare, se obtine o librarie compatibila cu windows ? Ce sunt aceste "celelalte extensii" unde trebuie sa pun dll-ul ? E vorba de aceste extensii: "wamp\bin\php\php5.5.12\ext" ? Dupa ce pun fisierul .dll in ""wamp\bin\php\php5.5.12\ext", trebuie modificat ceva in php.ini ?

De ce e preferabil cu acelasi compilator cu care a fost compilat php ? Php-ul din Wamp, a fost compilat cu "MSVC11 (Visual C++ 2012)", dar acel cod sursa cu phplib lite, sau acel workspace, sau solution, nu e compatibil cu Visual Studio 2012. Din readme, pare sa fie compatibil cu maxim Visual Studio 2005.

Edited by CTU99, 29 July 2014 - 23:32.


#4
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,236
  • Înscris: 24.02.2007
Fpdf-ul indicat nici nu trebuie "instalat", fiind scris in php, doar copiezi php-ul undeva de unde-l incluzi in proiect.

Msys iti ofera o consola in care navighezi pana la folderul pdflib (dezarhivat), si apoi dai ./configure, make, make install... ca pe linux, insa rezulta in dll, ce-l copiezi in acel folder de extensii (si-l inserezi in configuratia php-ului sa stie de el. Msys va folosi insa gcc.

#5
CTU99

CTU99

    Active Member

  • Grup: Members
  • Posts: 1,410
  • Înscris: 31.01.2007
Am pus "C:\MinGW\bin\" la $PATH, am mutat folderul "PDFlib-Lite-7.0.5p3" in "C:\MinGW\msys\1.0\home\User Name\", am dat comenzile:
cd PDFlib-Lite-7.0.5p3
./configure
make
make install

dar nu s-a produs nici un fisier dll. In "PDFlib-Lite-7.0.5p3\libs\pdflib\" s-a produs un folder ".lib" in care sunt mai multe fisiere de cativa KB, printre care si unul de 1,95 MB numit "libpdf_.a". Acest fisier "libpdf_.a", dupa ce il pun in "D:\installed apps\wamp\bin\php\php5.5.12\ext\", si adaug "extension=libpdf_.a" in "php.ini" si pornesc wamp, apar urmatoarele erori:

Quote

php-win.exe - Bad Image

D:\installed apps\wamp\bin\php\php5.5.12\ext\libpdf_.a is either not designed to run on Windows or it contains an error. Try installing the program again using the original installation media or contact your system administrator or the software vendor for support.

Quote

Warning

PHP Startup: Unable to load dynamic library 'D:\installed apps\wamp\bin\php\php5.5.12\ext\libpdf_.a' - %1 is not a valid Win32 application.
Iar daca compilez cu Visual Studio 6, cum spune in readme, rezulta un fisier "pdf.lib" de 1,06 MB in "PDFlib-Lite-7.0.5p3\libs\pdflib\". Dupa ce pun acel fisier "pdf.lib" in D:\installed apps\wamp\bin\php\php5.5.12\ext\", si adaug "extension=pdf.lib" in "php.ini" si pornesc wamp, apar aceleasi doua erori de mai sus.

Deci observ ca PHP-ul pt Windows accepta numai extensii .dll. E posibil ca pdflib lite 7 sa poata fi compilat in asa fel incat sa rezulte un fisier .dll care sa functioneze cu PHP 5 pe Windows 7 ? Pe GNU/Linux stiu ca se poate instala, am vazut ca functioneaza cu PHP 5 pe CentOS, fiindca altii l-au putut compila si instala pe CentOS. O masina virtuala cu CentOS ar ocupa mai mult ram decat wamp pe windows, si preferam sa instalez phplib lite in wamp, dar trebuie sa aflu daca e posibil, ca daca nu, sa stiu daca trec la masina virtuala.

Edited by CTU99, 02 August 2014 - 19:27.


#6
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
Dar de ce nu programezi tu frumusel direct sub Linux?

Ca serverul ruleaza oricum pe Linux, Linux e mult mai prietenos cu programatorul, Linux e un rai pentru programatori.

Ca doar nu te-oi juca joace si doar n-oi face showuri pe webcam in timp ce programezi.

#7
CTU99

CTU99

    Active Member

  • Grup: Members
  • Posts: 1,410
  • Înscris: 31.01.2007
Ar insemna dual boot, dar daca folosesc numai windows, numai e nevoie de dual boot. Decat dual boot, mai bine o masina virtuala cu Debian sau CentOS, folosita rar, incarcata rar in ram, doar cand am nevoie de pdflib lite. In felul asta stiu ca o sa functioneze pdflib lite 7, fiindca am observat ca altii l-au instalat si folosit cu succes pe CentOS cu PHP 5, si numai trebuie decat sa-l instalez cum l-au instalat ei.

Edited by CTU99, 02 August 2014 - 20:14.


#8
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,236
  • Înscris: 24.02.2007
.a mare inseamna static library, nu dynamic.
Incerc sa-l compilez zilele astea sa vad ce iese.

#9
CTU99

CTU99

    Active Member

  • Grup: Members
  • Posts: 1,410
  • Înscris: 31.01.2007
Si .lib tot static library inseamna.

Cu Msys am obtinut o librarie statica "libpdf_.a", iar cu visual studio 6 am obtinut o librarie statica "pdf.lib"

Dar pe pdflib.com, pdflib lite 7.0.5 e disponibil si pentru windows. Dar daca php-ul pt windows nu accepta decat dynamic libraries, de ce ar mai spune ca pdflib lite e disponibil si pt windows ? In readme-ul din arhiva cu pdflib lite, scrie ca se poate compila si ca librarie dinamica .dll, dar daca in visual studio 6 dau build la varianta dinamica, nu rezulta un fisier .dll, rezulta tot un fisier .lib.

Edited by CTU99, 02 August 2014 - 23:45.


#10
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,236
  • Înscris: 24.02.2007
Intr-un final am reusit sa compilez cu gcc/msys dll-ul.
Practic, chiar daca ./configure zicea ca va face si .dll, nu a mentionat prin nici un makefile(.in) sa faca asa ceva
For your convenience, here's a summary of configure's results:

Support for shared libraries:		   yes
C++ language binding for PDFlib:		yes
Java language binding for PDFlib:	   no
Perl language binding for PDFlib:	   yes
Python language binding for PDFlib:	 no
Ruby language binding for PDFlib:	   no
Tcl language binding for PDFlib:		no
PDF import library (PDI):			   no
Large file support:					 no
	 Note: if you purchase the additional PDF import library (PDI)
	 you can also manipulate existing PDF documents with PDFlib.
	 The additional block feature can be used to personalize PDF.
	 See http://www.pdflib.com for details.

Drept urmare, nu mi-a ramas decat la final sa adaug manual -shared in comanda de build.
Asta dupa ce am dat peste tot felul de alte erori (headere neincluse, ex. pentru DWORD - windef.h), fisiere inexistente (pentru a obtine hello.exe cauta hello.exe.c nu hello.c).

DLL-ul insa obtinut e biblioteca de folosit in C. NU e plugin-ul php, acela ar trebui sa fie alt dll care nici nu-i pomenit prin ./configure.
In folderul bind\pdflib\php\ext\pdf\ e doar un .dsp care pomeneste php_pdf.h si pdf.c care nici nu exista.

Si in .tar.gz-ul pentru linux e acelasi lucru. Sub Linux sigur ai folosit tot versiunea asta lite sau acolo era defapt instalata versiunea full, comerciala?

#11
CTU99

CTU99

    Active Member

  • Grup: Members
  • Posts: 1,410
  • Înscris: 31.01.2007
Cand deschid in Adobe Reader un document pdf care a fost generat dinamic cu phplib-ul de pe acel server web, si intru la File --> Properties, la Advanced scrie:

Quote

PDF Producer: PDFlib Lite 7.0.5 (PHP5/Linux)
PDF Version: 1.6 (Acrobat 7.x)
Ceea ce banuiesc ca inseamna ca pe acea distributie GNU/Linux, de pe acel server, cineva a reusit sa compileze PDFlib Lite 7.0.5 si sa obtina o extensie compatibila cu PHP 5 pt linux. Dar daca nici tu nu ai gasit un dll compatibil cu php 5 pt windows, atunci sigur nu e posibil ca pdflib lite sa fie folosit pe windows, deci singura solutie e wamp + pdflib-ul versiunea full care adauga watermark (ca la mine local pt testat, s-ar putea sa nu ma incurce cu ceva watermark-ul, numai ca am vrut intai sa vad daca se poate fara watermark cu versiunea lite).

Numai ca nu inteleg cum e posibil ca versiunea lite sa fie folosita pe linux... Am gasit tutoriale de instalat pdflib lite pe CentOS, si in acesle tutoriale, spune ca trebuie instalat si pdflib lite dar si pdflib.

Edited by CTU99, 03 August 2014 - 16:28.


#12
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
CTU99 vezi phantomjs sau macar fop.

#13
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,236
  • Înscris: 24.02.2007
Posibil, in cazul asta, ca extensia php sa faca parte din pdflib-ul normal, iar ea sa fie setata sa foloseasca libpdf-ul compilat in varianta light.

Nu-i imposibil sa folosesti si direct .dll-ul din PHP, dar trebuie sa-ti scrii propriul wrapper in PHP si e cam ca treaba cu scarpinatu cand mai sunt n alte solutii de generat pdf-uri.

Quote

PDFlib Lite offers a subset of the functionality of PDFlib 7. it can be used for non-commercial purposes under the terms of the PDFlib Lite license agreement. We do not offer any commercial licenses for PDFlib Lite.


Anunturi

Chirurgia endoscopică a hipofizei Chirurgia endoscopică a hipofizei

"Standardul de aur" în chirurgia hipofizară îl reprezintă endoscopia transnazală transsfenoidală.

Echipa NeuroHope este antrenată în unul din cele mai mari centre de chirurgie a hipofizei din Europa, Spitalul Foch din Paris, centrul în care a fost introdus pentru prima dată endoscopul în chirurgia transnazală a hipofizei, de către neurochirurgul francez Guiot. Pe lângă tumorile cu origine hipofizară, prin tehnicile endoscopice transnazale pot fi abordate numeroase alte patologii neurochirurgicale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate