[lms] FV tcpdf i portal Postivo

Jacek 'Szumak' Kotlarski szumak w virthost.pl
Pon, 11 Lut 2019, 17:56:29 CET


Witam szanowne grono.

Korzysta ktoś z Was opcjonalnie z możliwości wysyłki faktur w wersji 
papierowej za pośrednictwem postivo.pl?

Po upgradzie LMSa z 1.11.13 do 1.11.23 mamy problem z załącznikami 
wysyłanymi do tego serwisu poprzez API.
Otrzymujemy komunikat o uszkodzonych plikach.

Sprawdzam poprawność wygenerowanych w systemie dokumentów pdf w 
walidatorze, otrzymuję następującą informację:

--------------------------------------------------------------------------------------------------------------------------------
Compliance    pdf1.7
Result    Document does not conform to PDF/A.
Details
Validating file "FAKTURA_AIR_NET_L_103_02_2019_Data.pdf" for conformance 
level pdf1.7

XML line 1:1: Start tag expected, '<' not found.

The document does not conform to the requested standard.

The document's meta data is either missing or inconsistent or corrupt.

The document does not conform to the PDF 1.7 standard.

Done.
-------------------------------------------------------------------------------------------------------------------------------- 


Oczywiście dokumenty da się otworzyć, jednak skrypt obsługujący API po 
stronie dostawcy w/w usługi nie przyjmuje ich do dalszego przetwarzania.

Do generowania plików używam backendu domyślnego: TCPDF.
Zainstalowany LMS w wersji z paczki "011123".
Wykonałem aktualizację composera, wyczyściłem cache, zrobiłem również 
repair*

alexei/sprintf.js        1.1.1
components/jquery        3.3.1   jQuery JavaScript Library
components/jqueryui      1.12.1  jQuery UI is a curated set of user 
interface interactions, effects, widgets, and themes built on top of the 
jQuery JavaScript Library. Whether you're building highly interactive 
web appl...
components/normalize.css 3.0.3   Normalize.css is a customisable CSS 
file that makes browsers render all elements more consistently and in 
line with modern standards.
datatables/datatables    1.10.19 DataTables is a plug-in for the jQuery 
Javascript library. It is a highly flexible tool, based upon the 
foundations of progressive enhancement, which will add advanced 
interaction contro...
erusev/parsedown         1.7.1   Parser for Markdown.
gusapi/gusapi            3.3.2   Gus Api Library for PHP
pear/console_getopt      v1.4.2  More info available on: 
http://pear.php.net/package/Console_Getopt
pear/mail                v1.4.1  Class that provides multiple interfaces 
for sending emails.
pear/pear-core-minimal   v1.10.7 Minimal set of PEAR core files to be 
used as composer dependency
pear/pear_exception      v1.0.0  The PEAR Exception base class.
phine/exception          1.0.0   A PHP library for improving the use of 
exceptions.
phine/observer           2.0.0   A PHP library that implements the 
observer pattern.
phpmailer/phpmailer      v5.2.27 PHPMailer is a full-featured email 
creation and transfer class for PHP
rospdf/pdf-php           0.12.49 The R&OS Pdf class supports the 
creation of PDF documents without any adiditional modules or extensions.
setasign/fpdi            1.6.2   FPDI is a collection of PHP classes 
facilitating developers to read pages from existing PDF documents and 
use them as templates in FPDF. Because it is also possible to use FPDI 
with TCPD...
setasign/fpdi-tcpdf      1.6.1   Kind of metadata package for 
dependencies of the latest versions of FPDI and TCPDF.
smarty/smarty            v3.1.31 Smarty - the compiling PHP template engine
spipu/html2pdf           v4.6.1  HTML2PDF is a HTML to PDF converter 
written in PHP5 (it uses TCPDF). OFFICIAL PACKAGE
tecnickcom/tcpdf         6.2.26  TCPDF is a PHP class for generating PDF 
documents and barcodes.
xdan/datetimepicker      2.5.12


Dokładnie sprawdziłem skrypt służący do komunikacji z API Postivo, nie 
mam do niego zastrzeżeń. Identyczny komunikat o uszkodzonych plikach 
otrzymuję przy ręcznej próbie załączenia faktury w panelu użytkownika 
tego portalu. Sprawdziłem również pliki faktur generowanych z LMSów w 
nowej wersji od zaprzyjaźnionych operatorów - wynik wyszedł taki jak u 
nas, więc nie jest to problem dotyczący wyłącznie naszej instalacji.
Próbowałem również zmienić backend na EZPDF [invoices.pdf_type=ezpdf], 
jednak otrzymuję komunikat błędu z LMSa przy próbie wygenerowania pliku:

lms3-011123/vendor/rospdf/pdf-php/src/include/TTF.php[634]: Internal 
error - formatType is 0.0

którego to problemu jak dotąd nie udało mi się rozwiązać.

Czy mógłbym prosić o jakieś sugestie jak obejść w/w problemy?
Może łatwiej będzie usprawnić ezpdf, tylko od czego zacząć? Nie znajduje 
użytecznej informacji na ten temat, poza zgłoszeniami o występowaniu 
podobnego błędu formatu u niektórych użytkowników systemu.

Z morskim pozdrowieniem,

-- 
Jacek Kotlarski



Więcej informacji o liście lms