Witam serdecznie, Zaznaczam wybrane zamówienia, wybieram opcję drukuj, generuje się mi plik pdf i mam gotowe zamówienia do druku w formie graficznej. Chciałbym zmienić formę graficzną, która generuje się mi w postaci pliku pdf, ze względu na to że jest tam dużo zbędnych informacji na które idą duże ilości papieru. Chciałbym przerobić szatę graficzną w pdf do swoich własnych potrzeb. Czy można to wykonać ? Pozdrawiam.
Nie, taka edycja nie jest możliwa. Zgłosiliśmy pomysł do twórców aplikacji, czy taka zmiana była by możliwa do wdrożenia, a przede wszystkim czy potrzebna (czy w ogóle są zgłoszenia w tym zakresie). Dokument ten zawiera i tak minimum informacji, niezbędnych do wykorzystania dokumentu wewnątrz firmy. W chwili obecnej sugeruję po prostu pobranie pliku i jego edycję np. w Wordzie.
W momencie kiedy drukujemy zamówienia zbiorcze, bardzo dużo tracimy papieru, jedno zamówienie na 1 sztukę to 1 kartka A4, w naszym przypadku na 1 kartkę A4 moglibyśmy "wsadzić" 3-4 zamówienia. 100 zamówień to 100 kartek, kupa makulatury, moglibyśmy ograniczyć papier o 60% minimum. Format danych w pdf jest bardzo rozwleczony, jest bardzo dużo wolnego miejsca, dużo informacji jest nam zbędnych, czcionki są w pewnych miejscach za małe, w innych niepotrzebne lub za duże. W naszym przypadku możliwość modyfikacji tego pliku byłaby bardzo ogromnym ułatwieniem oraz zaoszczędzilibyśmy bardzo dużo na kosztach papieru.
da się wymagany efekt osiągnąć używając zewnętrznego skryptu i API. Czy masz jakiekolwiek doświadczenie z programowaniem?
czy taki efekt Będzie Ci odpowiadał? Jeśli tak to należy: zalogować się na serwer ftp sklepu (najlepiej zrobić sobie katalog na hasło) i wrzucić do niego plik o nazwie np: zamowienia.php mającego treść: Kod: <style> table { font-family:verdana; font-size:11px; } </style> <?php function login($c, $login, $password) { $params = Array( "method" => "login", "params" => Array($login, $password) ); curl_setopt($c, CURLOPT_POSTFIELDS, "json=" . json_encode($params)); $result = (Array) json_decode(curl_exec($c)); if (isset($result['error'])) { return null; } else { return $result[0]; } } $c = curl_init(); curl_setopt($c, CURLOPT_URL, 'http://ADRES_SKLEPU/webapi/json/'); curl_setopt($c, CURLOPT_POST, true); curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); // zalogowanie użytkownika i pobranie identyfikatora sesji $session = login($c, "UZYTKOWNIK_API", "HASLO_UZYTKOWNIKA_API"); if ($session != null) { for($i = $_GET["od"]; $i <= $_GET["do"]; $i++) { $params = Array( "method" => "call", "params" => Array($session, "order.info", Array($i, true) // id zamówienia, produkty ) ); // zakodowanie parametrów dla metody POST $postParams = "json=" . json_encode($params); curl_setopt($c, CURLOPT_POSTFIELDS, $postParams); // dekodowanie rezultatu w formacie JSON do tablicy result $data = curl_exec($c); $result = (Array)json_decode($data); // sprawdzenie, czy wystąpił błąd if (isset($result['error'])) { echo "Wystąpił błąd: " . $result['error'] . ", kod: " . $result['code']; } else { echo "<table><tr><td>"; echo "<table bgcolor=#dddddd><tr><td><b>ID zamówienia:</b> " . $result['order_id'] . "</td>"; echo "<td><b>Wartość zamówienia:</b> " . $result['sum'] . "</td>"; echo "<td><b>Data złożenia:</b> " . $result['date'] . "</td></tr></table>"; // itp. echo "<table width=100%><tr><td>"; echo "<br><b>Adres bilingowy:</b><br>"; $billingAddress = (Array)$result['billingAddress']; echo "Imię: " . $billingAddress['firstname'] . " "; echo "Nazwisko: " . $billingAddress['lastname'] . "<br>"; echo "Miejscowość: " . $billingAddress['city'] . "<br>"; echo "Adres: " . $billingAddress['street1'] . " "; echo $billingAddress['street2'] . "<br>"; // itp. echo "</td><td>"; echo "<br><b>Adres dostawy:</b><br>"; $deliveryAddress = (Array)$result['billingAddress']; echo "Imię: " . $deliveryAddress['firstname'] . " "; echo "Nazwisko: " . $deliveryAddress['lastname'] . "<br>"; echo "Miejscowość: " . $deliveryAddress['city'] . "<br>"; echo "Adres: " . $deliveryAddress['street1'] . " "; echo $deliveryAddress['street2'] . "<br>"; // itp. echo "</td></tr></table>"; echo "<br><b>Produkty:</b><br>"; echo "<table bgcolor=#eeeeee width=100%><tr><td>Nazwa</td><td>KOD</td><td>WARIANT</td></tr>"; $products = (Array)$result['products']; foreach ($products as $p) { $product = (Array)$p; echo "<tr><td>" . $product['name'] . "</td>"; echo "<td>" . $product['code'] . "</td>"; echo "<td>" . $product['option'] . "</td></tr>"; // itp. } echo "</table></table>"; }; }; } else { echo "Wystąpił błąd logowania"; } curl_close($c); ?> Tworzymy w sklepie użytkownika mającego dostęp do webapi i wpisujemy jego dane w miejsca opisane W miejsce opisane wpisujemy również adres sklepu. Jak to działa? Po wejściu przez przeglądarkę na adres: http://naszadresdopliku.pl/zamowienia.php?od=1&do=2 Wpisujemy za od= numer zamówienia od którego chcemy zacząć wyświetlanie, a za do= numer zamówienia do którego chcemy wyświetlić zamówienia Trochę zawikłane, ale działa napisane na podstawie kodu dostępnego w dokumentacji do API sklepu