Overslaan naar inhoud
Odoo Menu
  • Aanmelden
  • Probeer het gratis
  • Apps
    Financiën
    • Boekhouding
    • Facturatie
    • Onkosten
    • Spreadsheet (BI)
    • Documenten
    • Ondertekenen
    Verkoop
    • CRM
    • Verkoop
    • Kassasysteem winkel
    • Kassasysteem Restaurant
    • Abonnementen
    • Verhuur
    Websites
    • Websitebouwer
    • E-commerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Bevoorradingsketen
    • Voorraad
    • Productie
    • PLM
    • Inkoop
    • Onderhoud
    • Kwaliteit
    Personeelsbeheer
    • Werknemers
    • Werving & Selectie
    • Verlof
    • Evaluaties
    • Aanbevelingen
    • Wagenpark
    Marketing
    • Social media Marketing
    • E-mailmarketing
    • SMS Marketing
    • Evenementen
    • Marketingautomatisering
    • Enquêtes
    Diensten
    • Project
    • Urenstaten
    • Buitendienst
    • Helpdesk
    • Planning
    • Afspraken
    Productiviteit
    • Chat
    • Goedkeuringen
    • IoT
    • VoIP
    • Kennis
    • WhatsApp
    Apps van derden Odoo Studio Odoo Cloud Platform
  • Bedrijfstakken
    Detailhandel
    • Boekhandel
    • kledingwinkel
    • Meubelzaak
    • Supermarkt
    • Bouwmarkt
    • Speelgoedwinkel
    Food & Hospitality
    • Bar en Pub
    • Restaurant
    • Fastfood
    • Gastenverblijf
    • Drankenhandelaar
    • Hotel
    Vastgoed
    • Makelaarskantoor
    • Architectenbureau
    • Bouw
    • Vastgoedbeheer
    • Tuinieren
    • Vereniging van eigenaren
    Consulting
    • Accountantskantoor
    • Odoo Partner
    • Marketingbureau
    • Advocatenkantoor
    • Talentenwerving
    • Audit & Certificering
    Productie
    • Textiel
    • Metaal
    • Meubels
    • Eten
    • Brewery
    • Relatiegeschenken
    Gezondheid & Fitness
    • Sportclub
    • Opticien
    • Fitnesscentrum
    • Wellness-medewerkers
    • Apotheek
    • Kapper
    Trades
    • Klusjesman
    • IT-hardware & support
    • Zonne-energiesystemen
    • Schoenmaker
    • Schoonmaakdiensten
    • HVAC-diensten
    Andere
    • Non-profitorganisatie
    • Milieuagentschap
    • Verhuur van Billboards
    • Fotograaf
    • Fietsleasing
    • Softwareverkoper
    Browse all Industries
  • Community
    Leren
    • Tutorials
    • Documentatie
    • Certificeringen
    • Training
    • Blog
    • Podcast
    Versterk het onderwijs
    • Onderwijs- programma
    • Scale Up! Business Game
    • Bezoek Odoo
    Download de Software
    • Downloaden
    • Vergelijk edities
    • Releases
    Werk samen
    • Github
    • Forum
    • Evenementen
    • Vertalingen
    • Word een Partner
    • Services for Partners
    • Registreer je accountantskantoor
    Diensten
    • Vind een partner
    • Vind een boekhouder
    • Een adviseur ontmoeten
    • Implementatiediensten
    • Klantreferenties
    • Ondersteuning
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Vraag een demo aan
  • Prijzen
  • Help

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Boekhouding
  • Voorraad
  • PoS
  • Project
  • MRP
All apps
Je moet geregistreerd zijn om te kunnen communiceren met de community.
Alle posts Personen Badges
Labels (Bekijk alle)
odoo accounting v14 pos v15
Over dit forum
Je moet geregistreerd zijn om te kunnen communiceren met de community.
Alle posts Personen Badges
Labels (Bekijk alle)
odoo accounting v14 pos v15
Over dit forum
Help

wkhtml2pdf in Docker

Inschrijven

Ontvang een bericht wanneer er activiteit is op deze post

Deze vraag is gerapporteerd
wkhtml2pdfdocker
1 Beantwoorden
3631 Weergaven
Avatar
M

I'm running Odoo16 in the official Docker image.

I have a custom report inheriting from sale.report_saleorder. When I view a report in HTML, it's correct, with CSS applied. I can see report_assets_common and I can see my overrides that exist within style tags in my template.

However, when I view the report in PDF, the CSS is not applied, even the report_assets_common.

I have CSS that includes @font-face like so;

@font-face {

font-family: 'Raleway';

font-style: normal;

font-weight: 400;

src: url('/branding_nusa/static/fonts/Raleway-Light.ttf') format('truetype');

}

I also have an tag like so;

The image displays correctly, but the fonts only work on HTML.

I have report.url set to 'http://localhost:8069'

I know the resource is reachable from inside the container on the report.url because I can execute this from host;

docker exec -it odoo16 curl -I http://localhost:8069/branding_nusa/static/fonts/Raleway-Light.ttf

HTTP/1.0 200 OK

Content-Disposition: inline; filename=Raleway-Light.ttf

Content-Type: application/x-font-ttf

Content-Length: 182376

Last-Modified: Fri, 24 May 2024 03:25:15 GMT

Cache-Control: public, max-age=604800

Expires: Fri, 31 May 2024 08:52:47 GMT

ETag: "1716521115-182376-3913553847"

Date: Fri, 24 May 2024 08:52:47 GMT

Server: Werkzeug/1.0.1 Python/3.9.2

In the logs, I'm seeing this;

WARNING odoo16 odoo.addons.base.models.ir_actions_report: wkhtmltopdf: Exit with code 1 due to network error: ProtocolUnknownError

It's almost like the report.url isn't being prefixed to the resource URL.

My searching has only turned up the recommendations of setting report.url, or freezing the web.base.url.

Any ideas?


Apologies for the post being screwed up. It seems that the input is not escaped and every time I post, it gets screwed up in one way or another.

0
Avatar
Annuleer
Avatar
M
Auteur Beste antwoord

Ok, accidentally stumbled upon the solution whilst trying to fix another problem.

Wrapping my report content in the following fixed it (note: I had to remove some of the markup as the forums don't escape content and it's trying to inject content in a code block as HTML);

        div class="article" t-att-data-oe-model="o and o._name" t-att-data-oe-id="o and o.id" t-att-data-oe-lang="o and o.env.context.get('lang')"

It's not clear to me why this would have the impact that it does. There's nothing there that relates to resolution of the resource URLs. It feels more like a bug with this fix being an unintended side-effect.

ATTENTION ADMINS: The forums are seriously screwed up. Pasting HTML into code tags completely destroys the post. It's clearly not working as it was intended to.

0
Avatar
Annuleer
Geniet je van het gesprek? Blijf niet alleen lezen, doe ook mee!

Maak vandaag nog een account aan om te profiteren van exclusieve functies en deel uit te maken van onze geweldige community!

Aanmelden
Gerelateerde posts Antwoorden Weergaven Activiteit
docker-compose resulted in The connection was reset (from firefox) or Empty reply from server (from curl)? Opgelost
docker
Avatar
Avatar
2
sep. 23
8041
Admin password does not load from odoo.conf
docker
Avatar
Avatar
1
sep. 22
3706
How to add the webp service to my Odoo (with docker-compose)
docker
Avatar
0
feb. 22
4145
Getting an Error while Printing Reports ODOO V9
wkhtml2pdf
Avatar
Avatar
1
jul. 17
4063
Warn: Can't find .pfb for face 'Courier'
docker odoo18
Avatar
Avatar
Avatar
2
sep. 25
5182
Community
  • Tutorials
  • Documentatie
  • Forum
Open Source
  • Downloaden
  • Github
  • Runbot
  • Vertalingen
Diensten
  • Odoo.sh Hosting
  • Ondersteuning
  • Upgrade
  • Gepersonaliseerde ontwikkelingen
  • Onderwijs
  • Vind een boekhouder
  • Vind een partner
  • Word een Partner
Over ons
  • Ons bedrijf
  • Merkelementen
  • Neem contact met ons op
  • Vacatures
  • Evenementen
  • Podcast
  • Blog
  • Klanten
  • Juridisch • Privacy
  • Beveiliging
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo is een suite van open source zakelijke apps die aan al je bedrijfsbehoeften voldoet: CRM, E-commerce, boekhouding, inventaris, kassasysteem, projectbeheer, enz.

Odoo's unieke waardepropositie is om tegelijkertijd zeer gebruiksvriendelijk en volledig geïntegreerd te zijn.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now