Dodaj lub wyszukaj sugestię

Fakturownia — Forum Sugestii Produkty i magazyn

Produkty i magazyn

Anonim 16.01
🚀 Natywne kody EAN na PDF – automatyzacja magazynu i bezpieczny KSeF (gotowy kod CSS) Sugeruję dodanie natywnej opcji generowania kodów EAN bezpośrednio na dokumentach PDF (wraz z przełącznikiem w API). Dlaczego to ważne? Automatyzacja: Pozwala na błyskawiczne przyjęcia towaru i obsługę magazynową (skanowanie wydruków). Bezpieczeństwo KSeF: Obecnie można to osiągnąć tylko przez "własne szablony", co generuje ryzyko niezgodności z KSeF. Natywna funkcja eliminuje ten problem. API: Umożliwi generowanie gotowych etykiet/faktur dla zewnętrznych systemów bez konieczności renderowania ich w przeglądarce. Implementacja: Funkcja jest bardzo łatwa do wdrożenia, ponieważ silnik PDF Fakturowni już to obsługuje. Przetestowałem rozwiązanie, które działa idealnie i jest zoptymalizowane pod czytniki kodów. Poniżej gotowy, przetestowany snippet CSS, który wystarczy wdrożyć systemowo (rozwiązuje problemy z renderowaniem pasków, trzeba tylko dostosować marginesy i rozmiary): @media print { /* --- POPRAWIONY KOD EAN --- */ /* 1. Wymuszenie widoczności i kolorów */ .ean_code.hidden { display: block !important; } * { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; color-adjust: exact !important; } /* 2. Zabezpieczenie kolumny nazwy */ td.name_col, td.text_left { overflow: visible !important; white-space: normal !important; } /* --- FIX: OPTYMALIZACJA EAN --- */ /* KONTENER */ .ean_code { display: inline-block !important; background-color: transparent !important; /* Zmienione na transp, żeby nie robić tła */ text-align: left !important; float: left; zoom: 0.6; /* Lekka korekta: 0.5 bywa czasem za małe dla czytników starszego typu, 0.6 jest bezpieczniejsze */ margin-top: 5px; width: auto !important; max-width: none !important; transform-origin: left top; } /* TABELA - KLUCZOWA ZMIANA: FIXED LAYOUT */ .ean_code table.barby-barcode { border-collapse: collapse !important; border-spacing: 0 !important; /* To zapobiega rozciąganiu tabeli przez silnik PDF */ table-layout: fixed !important; width: auto !important; height: 35px !important; /* Nieco wyższy, po zoomie będzie ok */ border: 0 !important; } /* KOMÓRKI - BAZA */ .ean_code table.barby-barcode td.barby-cell { padding: 0 !important; margin: 0 !important; border: 0 !important; /* Resetujemy border bazowy */ height: 35px !important; /* FIX: Ustawiamy szerokość na 0 lub minimalną, aby szerokość wynikała TYLKO z ramki (border) */ width: 0.1pt !important; min-width: 0 !important; } /* CZARNE PASKI - LOGIKA RAMKI */ .ean_code table.barby-barcode td.barby-cell.on { /* Używamy TYLKO ramki, bez tła, żeby uniknąć "rozlewania" koloru */ background-color: transparent !important; /* Zmniejszone z 1.5pt na 1.2pt dla lepszej precyzji */ border-left: 1.2pt solid #000000 !important; visibility: visible !important; } /* BIAŁE PASKI */ .ean_code table.barby-barcode td.barby-cell.off { background-color: transparent !important; /* Biała ramka musi mieć IDENTYCZNĄ szerokość co czarna, aby zachować proporcje kodu EAN */ border-left: 1.2pt solid #FFFFFF !important; } .ean_code table.barby-barcode:empty { display: none; } }
3