Hi Ravish,
natknąłem się również ten problem. Właściwie to mój scenariusz. Mam oryginalny plik o rozmiarze Legal (8,5 mm x 14 mm mm). Kiedy wyświetlam go przy użyciu wyjścia FPDI tak, jak ty, wyświetla tylko rozmiar liter (8,5 mm x 11 mm) (). Wynik jest następujący: CROPPED Plik PDF.
Zrobiłem kilka googling i znalazłem kilka odpowiedzi z różnych stanowisk. Oto najważniejsze rozwiązanie, które znalazłem.
Pierwszy to ten kawałek kodu funkcji poniżej: useTemplate
$this->useTemplate($templateIndex, null, null, 0, 0, true);
Normalnie, niektórzy deweloperzy ustawić to jako PRAWDA za ostatni argument. Tak, to prawda, jeśli nie ustawisz szerokości i długości.Chciałbym jednak podkreślić, że czwarty i piąty argument określa szerokość i długość importowanego pliku PDF. Tak więc, jeśli przyjmiesz lub uzyskasz rzeczywisty rozmiar zaimportowanego dokumentu, ustaw ostatni argument na FALSE, ponieważ będzie to wskazywać, że będzie to rzeczywisty lub określony rozmiar, który ustawisz.
Proszę wziąć to przykładowe kody robiłam:
$pdf = new FPDI();
$pdf -> setSourceFile('birform2316.pdf');
$tplIdx = $pdf -> importPage(1);
$size = $pdf->getTemplateSize($tplIdx);
$pdf -> AddPage();
$pdf ->useTemplate($tplIdx, null, null, $size['w'], 310, FALSE);
$pdf -> SetFont('Arial');
$pdf -> SetTextColor(0, 0, 0);
$pdf -> SetXY(18, 174);
$pdf -> Write(0, $employer_address);
$pdf -> Output('myOwn.pdf', 'D');
Z tego kodu, mam opracowała nowy PDF bez przycinania importowanego pliku, że mogę ustawić. Oznacza to, że zostały wyświetlone wszystkie szczegóły szablonu (oryginalny plik).
Proszę wziąć pod uwagę także, że obserwowane coś podczas ustawiania rozmiaru mojego PDF:
Po pierwsze, mój plik ma oryginalną szerokość 215.6mm, a jego długość wynosi 350.9mm. Teraz, kiedy ustawić rozmiar mojego PDF za pomocą funkcji getTemplateSize i useTemplate takich jak:
$size = $pdf->getTemplateSize($tplIdx);
$pdf ->useTemplate($tplIdx, null, null, $size['w'], $size['h'],FALSE);
lub po prostu:
$pdf ->useTemplate($tplIdx, null, null, 215.6, 350.9,FALSE);
wynik jest mój nowy plik PDF jest Przycięte na dole i nie wiem dlaczego.
Po tej obserwacji wykonałem kilka testów, aby znaleźć przyczynę. Rezultatem jest limit długości w generowaniu pliku PDF za pomocą FPDI. Jak widać w powyższym kodzie, nie użyłem rzeczywistej długości mojego pliku. Zamiast używać 350,9 mm, który można wyprowadzić z $size[h']
, nie użyłem go, ponieważ dostarczy on przycięty plik. Właśnie przekazałem wartość liczbową w pobliżu i rzeczywistą szerokość, aby uzyskać pożądany wynik.
$pdf->useTemplate($tplIdx, null, null, $size['w'], 310, false);
Nawiasem mówiąc, 310 mm (długość) jest największą wartością liczbową Użyłem produkować nowy plik PDF, który jest NIE Przycięte.
Mam nadzieję, że dałem trochę danych wejściowych dla wszystkich programistów używających FPDI, które napotyka problem CROPPED PDF.
Dzięki wszystkim ...
Levi Palmer
Jaka jest zawartość '$ cardDetails'? – Orbling
$ cardDetails zawiera rozmiar i orientację karty 'code' $ cardDetails ['ORIENTATION'] = 'L'; $ cardDetails ['SIZE'] = 'STANDARD_CARD'; 'code' wielkość STANDARD_CARD kala się w klasie TCPDF jako ' code' przypadek 'STANDARD_CARD': {$ pf = array (360.00,504.00); break;} 'code' dobrze, mam problem rozwiązany (w pewnym stopniu, nie w 100%) Chciałem ustawić rozmiar pliku PDF na format PDF zaimportowany, na przykład importowany pdf to 5,27 X 7,1. następnie odpowiednio ustaw rozmiar. ale nie ma w tym szczęścia, tylko pewne praktyczne rozwiązanie, a nie 100%, ale wydaje się, że działa dla mnie ... – Ravish