solving pdf sending

This commit is contained in:
Flatlogic Bot 2026-02-13 05:18:11 +00:00
parent 07fac2272f
commit 63cb66eedb
6 changed files with 4 additions and 86 deletions

View File

@ -1,29 +0,0 @@
import os
from cffi import FFI
ffi = FFI()
def _dlopen(*names):
for name in names:
try:
lib = ffi.dlopen(name)
print(f"Loaded {name}")
return lib
except OSError as e:
print(f"Failed to load {name}: {e}")
return None
print("Checking gobject...")
_dlopen('libgobject-2.0-0', 'gobject-2.0-0', 'gobject-2.0', 'libgobject-2.0.so.0')
print("\nChecking pango...")
_dlopen('libpango-1.0-0', 'pango-1.0-0', 'pango-1.0', 'libpango-1.0.so.0')
print("\nChecking harfbuzz...")
_dlopen('libharfbuzz-0', 'harfbuzz', 'harfbuzz-0.0', 'libharfbuzz.so.0')
print("\nChecking fontconfig...")
_dlopen('libfontconfig-1', 'fontconfig-1', 'fontconfig', 'libfontconfig.so.1')
print("\nChecking pangoft2...")
_dlopen('libpangoft2-1.0-0', 'pangoft2-1.0-0', 'pangoft2-1.0', 'libpangoft2-1.0.so.0')

View File

@ -29,9 +29,11 @@ import ctypes.util
lib_paths = [
'/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0',
'/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0',
'/usr/lib/x86_64-linux-gnu/libgobject-2.0-0.so',
'/usr/lib/x86_64-linux-gnu/libfontconfig.so.1',
'/usr/lib/x86_64-linux-gnu/libcairo.so.2',
'/usr/lib/x86_64-linux-gnu/libpango-1.0.so.0',
'/usr/lib/x86_64-linux-gnu/libpango-1.0-0.so',
'/usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0',
]

View File

@ -22,12 +22,13 @@ def main():
lib_paths = [
'/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0',
'/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0',
'/usr/lib/x86_64-linux-gnu/libgobject-2.0-0.so',
'/usr/lib/x86_64-linux-gnu/libfontconfig.so.1',
'/usr/lib/x86_64-linux-gnu/libcairo.so.2',
'/usr/lib/x86_64-linux-gnu/libpango-1.0.so.0',
'/usr/lib/x86_64-linux-gnu/libpango-1.0-0.so',
'/usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0',
]
for path in lib_paths:
try:
ctypes.CDLL(path)

View File

@ -1,33 +0,0 @@
import os
import django
from django.conf import settings as django_settings
from django.template.loader import render_to_string
from django.test import RequestFactory
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings')
django.setup()
from core.views import generate_pdf_file
from core.models import Sale
def test_pdf():
try:
sale = Sale.objects.first()
if not sale:
print("No sales found")
return
request = RequestFactory().get('/')
context = {'sale': sale} # Simplified context
print("Testing PDF generation...")
pdf = generate_pdf_file('pdf/invoice_pdf.html', context, request)
print(f"PDF generated successfully, size: {len(pdf)}")
except Exception as e:
print(f"Caught error: {e}")
import traceback
traceback.print_exc()
if __name__ == "__main__":
test_pdf()

View File

@ -1,23 +0,0 @@
import os
import sys
import django
from django.conf import settings as django_settings
from django.template.loader import render_to_string
# Setup Django
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings')
django.setup()
def test_pdf():
from weasyprint import HTML
print("Imported weasyprint")
html_string = "<h1>Test</h1>"
try:
pdf = HTML(string=html_string).write_pdf()
print(f"Success! PDF size: {len(pdf)}")
except Exception as e:
print(f"Failed: {e}")
if __name__ == "__main__":
test_pdf()