Printing is not working

I installed CO about 2-3 months ago and I didn’t need to print or convert office documents to PDF.
Today I wanted to print an office document and printing doesn’t work at all.
I’m using Nextcloud 32.0.1 and CO

COOLWSD
25.04.7.1 (git hash: e808afa229)
LOKit
Collabora Office 25.04.7.1 (git hash: 746c675659)

I updated to

COOLWSD
25.04.11.3 (git hash: 1059ff2a99)
LOKit
Collabora Office 25.04.11.3 (git hash: fcd27e9242)

Printing still doesn’t work. I have no idea where the problem could be
I have CO installed in LXC and integrated into nextcloud.
Everything works except printing (exporting to pdf also doesn’t work).
If I try to print or export to pdf, nothing happens.

I have a similar setup on a completely different server and printing works there without any problems (I installed both servers the same way).

edit:

I forgot to write that if I print a pdf or a regular txt file in nextcloud, everything works (only office documents don’t work).

I also have a reverse proxy server and the configuration there is as follows

server {
    server_name collabora.abc.xyz;

    location / {
        proxy_pass http://192.168.100.6:9980;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        client_max_body_size 512M;
    }


    # HTTP/3 Support 
    listen 443 ssl;
    listen 443 quic;
    ssl_certificate /etc/letsencrypt/live/abc.xyz/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/abc.xyz/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

    # HTTP/3 Header
    add_header Alt-Svc 'h3=":$server_port"; ma=86400';
    add_header x-quic 'h3';
    add_header Alt-Svc 'h3-29=":$server_port"';
    
   
# WOPI discovery URL
    location ^~ /hosting/discovery {
        proxy_pass http://192.168.100.6:9980;
        proxy_set_header Host $http_host;
    }
   
   
# Capabilities
    location ^~ /hosting/capabilities {
        proxy_pass http://192.168.100.6:9980;
        proxy_set_header Host $http_host;
    }
   
   
# main websocket
    location ~ ^/cool/(.*)/ws$ {
        proxy_pass http://192.168.100.6:9980;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_set_header Host $http_host;
        proxy_read_timeout 36000s;
    }
   
   
# download, presentation and image upload
    location ~ ^/(c|l)ool {
        proxy_pass http://192.168.100.6:9980;
        proxy_set_header Host $http_host;
    }
   
   
# Admin Console websocket
    location ^~ /cool/adminws {
        proxy_pass http://192.168.100.6:9980;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_set_header Host $http_host;
        proxy_read_timeout 36000s;
    }
        
}


server {
    if ($host = collabora.abc.xyz) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    listen 80;
    server_name collabora.abc.xyz;
    return 404; # managed by Certbot


}

When I open a file in nextcloud office and print it, I see this in the coolswd log

sudo journalctl -u coolwsd -f -o cat --since "1 minute ago"
wsd-00528-00541 2026-07-09 18:38:54.717990 +0200 [ websrv_poll ] WRN  FileServerRequestHandler: File not found: Invalid URI request (hash): [/browser/1059ff2a99/images/dark/lc_validatesidebara11y.svg].| wsd/FileServer.cpp:1251
wsd-00528-00541 2026-07-09 18:38:54.718115 +0200 [ websrv_poll ] WRN  FileServerRequestHandler: File not found: Invalid URI request (hash): [/browser/1059ff2a99/images/dark/lc_validatedialogsa11y.svg].| wsd/FileServer.cpp:1251
wsd-00528-00541 2026-07-09 18:38:55.025763 +0200 [ websrv_poll ] WRN  FileServerRequestHandler: File not found: Invalid URI request (hash): [/browser/1059ff2a99/images/lc_validatesidebara11y.svg].| wsd/FileServer.cpp:1251
wsd-00528-00541 2026-07-09 18:38:55.025892 +0200 [ websrv_poll ] WRN  FileServerRequestHandler: File not found: Invalid URI request (hash): [/browser/1059ff2a99/images/lc_validatedialogsa11y.svg].| wsd/FileServer.cpp:1251
wsd-00528-00541 2026-07-09 18:38:58.407662 +0200 [ websrv_poll ] ERR  #33: Exception while processing incoming request: GETHTTP/1.0 /cool/https%3A%2F%2Fnextcloud.abc.xyz%2Findex.php%2Fapps%2Frichdocuments%2Fwopi%2Ffiles%2F38_oc8wvdlhf0af/download/BBB1miYthoZPvyLwESa44z2XoPsZZ8ibUtUEcJlEBq9NhHgOS78dnPDglVduHnxi?WOPISrc=https%3A%2F%2Fnextcloud.abc.xyz%2Findex.php%2Fapps%2Frichdocuments%2Fwopi%2Ffiles%2F38_oc8wvdlhf0af&compat=/ws, length: -1, chunked: false, closeConnection true, Connection: close / sec-ch-ua-platform: "Linux" / user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Safari/537.36 / sec-ch-ua: "Not;A=Brand";v="8", "Chromium";v="150", "Google Chrome";v="150" / sec-ch-ua-mobile: ?0 / accept: */* / sec-fetch-site: same-origin / sec-fetch-mode: cors / sec-fetch-dest: empty / accept-encoding: gzip, deflate, br, zstd / accept-language: sk-SK,sk;q=0.9,cs;q=0.8,en;q=0.7,en-US;q=0.6 / dnt: 1 / sec-gpc: 1 / priority: u=1, i, socket-data: [GET /cool/https%3A%2F%2Fnextcloud.abc.xyz%2Findex.php%2Fapps%2Frichdocuments%2Fwopi%2Ffiles%2F38_oc8wvdlhf0af/download/BBB1miYthoZPvyLwESa44z2XoPsZZ8ibUtUEcJlEBq9NhHgOS78dnPDglVduHnxi?WOPISrc=https%3A%2F%2Fnextcloud.abc.xyz%2Findex.php%2Fapps%2Frichdo...]: Not found| wsd/ClientRequestDispatcher.cpp:1285TTP/1.0

Hi @gusto,

Thanks for sharing the config and logs — that’s really helpful! :slightly_smiling_face:

First, the good news: those lc_validate*.svg “File not found” warnings are harmless (just missing icon lookups), so you can ignore them.

The interesting line is the last one. When you print or export to PDF, Collabora generates the file and gives your browser a one-time download link (/cool/.../download/<id>). Your log shows that request reaching coolwsd but being answered with “Not found” — which usually means the request got duplicated or mangled on the way, so the one-shot link was no longer valid when it arrived. That points at the transport layer, i.e. the reverse proxy.

And the thing that jumps out in your nginx config is the HTTP/3 / QUIC block:

listen 443 quic;
add_header Alt-Svc 'h3=":$server_port"; ma=86400';

You’re on Chrome (per the log), and Chrome switches the connection to HTTP/3 as soon as it sees that Alt-Svc header. WebSockets and these one-shot download requests don’t always survive that cleanly behind nginx’s h3 proxying — and “everything works except print/PDF export” is exactly the symptom that produces. I’d bet your working server doesn’t have that QUIC block :wink:

To confirm:

  1. Comment out listen 443 quic; and the Alt-Svc / x-quic add_header lines, then nginx -t && systemctl reload nginx
  2. Chrome caches Alt-Svc aggressively, so test in a fresh incognito window — or launch Chrome with --disable-quic, or simply try Firefox
  3. Try Print and File → Export as PDF again

Also useful: open DevTools → Network, click Print, and look at the /download/ request — check its status and the Protocol column (h3 vs http/1.1). If it shows h3 and fails, that’s our confirmation.

If it still misbehaves with QUIC disabled, please share a fresh coolwsd log from the same moment and we’ll dig further!

Thank you so much for your support

Thanks for the reply
You are right, I do not use HTTP3 on the servers where printing works. However, when I disable HTTP3 on the original server, nextcloud cannot connect to the collaboration server and then it will not even open the office document.