{"id":13133,"date":"2026-03-24T16:54:46","date_gmt":"2026-03-24T16:54:46","guid":{"rendered":"https:\/\/zwaanborkel.nl\/?page_id=13133"},"modified":"2026-04-07T19:11:33","modified_gmt":"2026-04-07T19:11:33","slug":"de-zwaanbode","status":"publish","type":"page","link":"https:\/\/zwaanborkel.nl\/en\/de-zwaanbode\/","title":{"rendered":"The Swan Courier"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"13133\" class=\"elementor elementor-13133\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fac9554 e-flex e-con-boxed e-con e-parent\" data-id=\"fac9554\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;grandrestaurant_ext_is_background_parallax&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_background_backdrop&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_background_on_scroll&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_link_reservation&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_link_sidemenu&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_link_fullmenu&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_link_closed_fullmenu&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_scrollme&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_smoove&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_parallax_mouse&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_infinite&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_fadeout_animation&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_mobile_static&quot;:&quot;false&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-de0f49c e-flex e-con-boxed e-con e-parent\" data-id=\"de0f49c\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;grandrestaurant_ext_is_background_parallax&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_background_backdrop&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_background_on_scroll&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_link_reservation&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_link_sidemenu&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_link_fullmenu&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_link_closed_fullmenu&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_scrollme&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_smoove&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_parallax_mouse&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_infinite&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_fadeout_animation&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_mobile_static&quot;:&quot;false&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d1bb6cc e-flex e-con-boxed e-con e-parent\" data-id=\"d1bb6cc\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;grandrestaurant_ext_is_background_parallax&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_background_backdrop&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_background_on_scroll&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_link_reservation&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_link_sidemenu&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_link_fullmenu&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_link_closed_fullmenu&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_scrollme&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_smoove&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_parallax_mouse&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_infinite&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_fadeout_animation&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_mobile_static&quot;:&quot;false&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-267d8d5 elementor-widget elementor-widget-heading\" data-id=\"267d8d5\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;grandrestaurant_ext_link_reservation&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_link_sidemenu&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_link_fullmenu&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_link_closed_fullmenu&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_scrollme&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_smoove&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_parallax_mouse&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_infinite&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_fadeout_animation&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_mobile_static&quot;:&quot;false&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">De Zwaanbode<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-16feb92 elementor-widget elementor-widget-text-editor\" data-id=\"16feb92\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;grandrestaurant_ext_link_reservation&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_link_sidemenu&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_link_fullmenu&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_link_closed_fullmenu&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_scrollme&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_smoove&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_parallax_mouse&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_infinite&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_fadeout_animation&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_mobile_static&quot;:&quot;false&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Welkom bij De Zwaanbode, h\u00e9t blad dat u meeneemt op een culinair avontuur vol smakelijke verrassingen en fascinerende inzichten in ons bedrijf! Wij zijn verheugd u uit te nodigen om de pagina&#8217;s van ons menu en de talloze interessante weetjes over ons restaurant te ontdekken.<\/p><p><strong>Veel leesplezier!<\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c9d98f4 elementor-widget elementor-widget-html\" data-id=\"c9d98f4\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;grandrestaurant_ext_link_reservation&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_link_sidemenu&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_link_fullmenu&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_link_closed_fullmenu&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_scrollme&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_smoove&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_parallax_mouse&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_infinite&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_fadeout_animation&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_mobile_static&quot;:&quot;false&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"zwaanbode-viewer\">\r\n  <div id=\"pdf-container\" class=\"pdf-container\">\r\n    <div class=\"pdf-loading\">Zwaanbode laden\u2026<\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<style>\r\n  .zwaanbode-viewer{\r\n    width:100%;\r\n    max-width:900px;\r\n    margin:0 auto;\r\n    padding:10px;\r\n    border-radius:28px;\r\n    background:\r\n      radial-gradient(circle at top left, rgba(207,166,112,0.10), transparent 26%),\r\n      radial-gradient(circle at bottom right, rgba(207,166,112,0.08), transparent 24%),\r\n      linear-gradient(180deg, #090909 0%, #141414 52%, #0b0b0b 100%);\r\n    border:1px solid rgba(207,166,112,0.22);\r\n    box-shadow:\r\n      0 22px 50px rgba(0,0,0,0.38),\r\n      inset 0 0 0 1px rgba(255,255,255,0.02);\r\n    box-sizing:border-box;\r\n    overflow:hidden;\r\n  }\r\n\r\n  .pdf-container{\r\n    width:100%;\r\n  }\r\n\r\n  .pdf-loading{\r\n    color:#cfa670;\r\n    text-align:center;\r\n    padding:30px 15px;\r\n    font-family:inherit;\r\n    font-size:16px;\r\n  }\r\n\r\n  .pdf-page{\r\n    margin:0 0 10px 0;\r\n    padding:0;\r\n    border-radius:10px;\r\n    overflow:hidden;\r\n    background:transparent;\r\n    box-shadow:none;\r\n    border:0;\r\n    line-height:0;\r\n  }\r\n\r\n  .pdf-page:last-child{\r\n    margin-bottom:0;\r\n  }\r\n\r\n  .pdf-page canvas{\r\n    display:block;\r\n    width:100% !important;\r\n    height:auto !important;\r\n    background:#fff;\r\n    border:0;\r\n    box-shadow:none;\r\n  }\r\n\r\n  @media (max-width:767px){\r\n    .zwaanbode-viewer{\r\n      padding:4px;\r\n      border-radius:16px;\r\n    }\r\n\r\n    .pdf-page{\r\n      margin-bottom:8px;\r\n      border-radius:8px;\r\n    }\r\n\r\n    .pdf-loading{\r\n      padding:20px 10px;\r\n      font-size:15px;\r\n    }\r\n  }\r\n<\/style>\r\n\r\n<script>\r\n(function () {\r\n  const pdfUrl = \"https:\/\/zwaanborkel.nl\/wp-content\/uploads\/2026\/03\/Cafe-de-Zwaan_Zwaanbode_Editie-30-Final-Final.pdf\";\r\n  const pdfJsUrl = \"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/pdf.js\/3.11.174\/pdf.min.js\";\r\n  const workerUrl = \"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/pdf.js\/3.11.174\/pdf.worker.min.js\";\r\n  const container = document.getElementById(\"pdf-container\");\r\n\r\n  if (!container) return;\r\n\r\n  function showError(msg){\r\n    container.innerHTML = '<div class=\"pdf-loading\" style=\"color:#fff;\">' + msg + \"<\/div>\";\r\n  }\r\n\r\n  function loadScript(src){\r\n    return new Promise(function(resolve, reject){\r\n      const existing = document.querySelector('script[src=\"' + src + '\"]');\r\n      if (existing) {\r\n        if (window.pdfjsLib) {\r\n          resolve();\r\n        } else {\r\n          existing.addEventListener(\"load\", resolve);\r\n          existing.addEventListener(\"error\", reject);\r\n        }\r\n        return;\r\n      }\r\n\r\n      const script = document.createElement(\"script\");\r\n      script.src = src;\r\n      script.onload = resolve;\r\n      script.onerror = reject;\r\n      document.head.appendChild(script);\r\n    });\r\n  }\r\n\r\n  async function renderPDF() {\r\n    try {\r\n      await loadScript(pdfJsUrl);\r\n\r\n      if (!window.pdfjsLib) {\r\n        showError(\"PDF viewer kon niet geladen worden.\");\r\n        return;\r\n      }\r\n\r\n      pdfjsLib.GlobalWorkerOptions.workerSrc = workerUrl;\r\n\r\n      container.innerHTML = '<div class=\"pdf-loading\">Zwaanbode laden\u2026<\/div>';\r\n\r\n      const loadingTask = pdfjsLib.getDocument({\r\n        url: pdfUrl,\r\n        useWorkerFetch: true,\r\n        isEvalSupported: false\r\n      });\r\n\r\n      const pdf = await loadingTask.promise;\r\n\r\n      container.innerHTML = \"\";\r\n\r\n      const isMobile = window.innerWidth < 768;\r\n      const dpr = Math.min(window.devicePixelRatio || 1, 2);\r\n\r\n      for (let pageNum = 1; pageNum <= pdf.numPages; pageNum++) {\r\n        const page = await pdf.getPage(pageNum);\r\n\r\n        const wrapper = document.createElement(\"div\");\r\n        wrapper.className = \"pdf-page\";\r\n\r\n        const canvas = document.createElement(\"canvas\");\r\n        const context = canvas.getContext(\"2d\", { alpha: false });\r\n\r\n        const baseViewport = page.getViewport({ scale: 1 });\r\n        const containerWidth = container.clientWidth || 800;\r\n        const fitScale = containerWidth \/ baseViewport.width;\r\n        const renderScale = fitScale * (isMobile ? 2 : 1.6);\r\n\r\n        const viewport = page.getViewport({ scale: renderScale });\r\n        canvas.width = Math.floor(viewport.width * dpr);\r\n        canvas.height = Math.floor(viewport.height * dpr);\r\n        canvas.style.width = Math.floor(viewport.width) + \"px\";\r\n        canvas.style.height = Math.floor(viewport.height) + \"px\";\r\n\r\n        const renderContext = {\r\n          canvasContext: context,\r\n          viewport: viewport,\r\n          transform: dpr !== 1 ? [dpr, 0, 0, dpr, 0, 0] : null,\r\n          background: \"rgb(255,255,255)\"\r\n        };\r\n\r\n        wrapper.appendChild(canvas);\r\n        container.appendChild(wrapper);\r\n\r\n        await page.render(renderContext).promise;\r\n      }\r\n    } catch (error) {\r\n      console.log(error);\r\n      showError(\"De Zwaanbode kon niet geladen worden.\");\r\n    }\r\n  }\r\n\r\n  if (document.readyState === \"loading\") {\r\n    document.addEventListener(\"DOMContentLoaded\", renderPDF);\r\n  } else {\r\n    renderPDF();\r\n  }\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-4c0b46b e-flex e-con-boxed e-con e-parent\" data-id=\"4c0b46b\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;grandrestaurant_ext_is_background_parallax&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_background_backdrop&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_background_on_scroll&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_link_reservation&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_link_sidemenu&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_link_fullmenu&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_link_closed_fullmenu&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_scrollme&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_smoove&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_parallax_mouse&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_infinite&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_fadeout_animation&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_mobile_static&quot;:&quot;false&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d7df453 e-flex e-con-boxed e-con e-parent\" data-id=\"d7df453\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;grandrestaurant_ext_is_background_parallax&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_background_backdrop&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_background_on_scroll&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_link_reservation&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_link_sidemenu&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_link_fullmenu&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_link_closed_fullmenu&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_scrollme&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_smoove&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_parallax_mouse&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_infinite&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_fadeout_animation&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_mobile_static&quot;:&quot;false&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8ccfa73 elementor-widget elementor-widget-html\" data-id=\"8ccfa73\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;grandrestaurant_ext_link_reservation&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_link_sidemenu&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_link_fullmenu&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_link_closed_fullmenu&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_scrollme&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_smoove&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_parallax_mouse&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_infinite&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_is_fadeout_animation&quot;:&quot;false&quot;,&quot;grandrestaurant_ext_mobile_static&quot;:&quot;false&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div style=\"text-align:center; color:#CFA670; font-family:'Josefin Sans', sans-serif; font-size:12px; letter-spacing:1px; line-height:1.5; padding:14px 0 10px 0; border-top:1px solid rgba(207,166,112,0.35);\">\r\n  \u00a9 Grand Caf\u00e9 De Zwaan \u2022 Borkel en Schaft\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>De Zwaanbode Welkom bij De Zwaanbode, h\u00e9t blad dat u meeneemt op een culinair avontuur vol smakelijke verrassingen en fascinerende inzichten in ons bedrijf! Wij zijn verheugd u uit te nodigen om de pagina&#8217;s van ons menu en de talloze [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-13133","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/zwaanborkel.nl\/en\/wp-json\/wp\/v2\/pages\/13133","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zwaanborkel.nl\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/zwaanborkel.nl\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/zwaanborkel.nl\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/zwaanborkel.nl\/en\/wp-json\/wp\/v2\/comments?post=13133"}],"version-history":[{"count":295,"href":"https:\/\/zwaanborkel.nl\/en\/wp-json\/wp\/v2\/pages\/13133\/revisions"}],"predecessor-version":[{"id":14005,"href":"https:\/\/zwaanborkel.nl\/en\/wp-json\/wp\/v2\/pages\/13133\/revisions\/14005"}],"wp:attachment":[{"href":"https:\/\/zwaanborkel.nl\/en\/wp-json\/wp\/v2\/media?parent=13133"}],"curies":[{"name":"WP","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}