WebToffee Logo
  • Home
  • Plugins
  • Shopify apps
  • Bundles
  • Blog
  • Documentation
  • Support
Login
cart 0

  • Getting started
    • Setup Guide
    • Add custom code snippets using third party plugins
  • Invoice
    • Email
      • Email invoices by order status
    • Customization
      • Fix Image/Logo Missing Issues
      • Add Custom Placeholders
      • Add Product Description
      • Create/Reset invoice number
      • Add tax column in invoice
      • Fix Language Missing Issues
      • Display Product Meta in a New Column
      • Change to EU address format
    • Pay via invoice
      • Pay from PDF invoices
    • Product Display
      • Display bundled products
    • Adding meta data
      • Add product meta to WooCommerce PDF Invoices
      • Add product attributes to WooCommerce PDF Invoices
      • Add order meta to WooCommerce PDF Invoices
    • Add Product Description
  • Packing slip
    • Customization
      • Sort items by category and product name
      • Email packing slip to custom email address
      • Change color of item quantity
      • Different packaging types
    • Product Display
      • Display bundled products
  • Changelog
    • v1.0.5

Home > Docs > WooCommerce PDF Invoices, packing slips and credit notes plugin > Resolve image missing/corrupted issue in WooCommerce PDF documents

Fixing Image Missing Issues in WooCommerce PDF Documents

Last updated on September 27, 2023

Adding images, logos, and signatures in WooCommerce documents holds significant importance for enhancing brand identity and providing a professional and personalized customer experience. WebToffee’s WooCommerce PDF Invoices, Packing Slips, and Credit Notes plugin and WooCommerce Shipping Labels, Dispatch Labels, and Delivery Notes plugin provide the provision to have product images, company logos, and signatures within the documents. However, there may be instances where the product images or logos may be missing from the PDF documents. To solve this issue:

  1. Use WebToffee’s free mPDF add-on.
  2. Add the custom code snippet provided.

Image/Logo Missing issues can occur due to problems with the image size, the absence of an image processing library, permission issues, etc.

The following image shows a WooCommerce invoice PDF document with an image and logo missing issue.

WooCommerce Invoice with image and logo missing issue
WooCommerce Invoice with image and logo missing issue

Before moving on to the solutions make sure that the image/logo missing issue isn’t due to the following reasons:

  1. Absence of image processing library.
  2. An issue with the image size.
  3. Permission issues.
  4. Server request restrictions.

Absence of image processing library

When the WordPress site lacks image processing libraries or when the libraries are not compatible with the uploaded image format then the image/logo missing issues can occur. To solve this ensure that proper image processing libraries are present and also ensure to upload images that are compatible with the library.

An issue with the image size

When the uploaded image size exceeds the server capacity these kinds of errors can occur. So upload images of sizes that are compatible with the server capacity.

Permission issues

Lack of file permission can prevent WordPress from reading files on the hosting server. So to solve this grant access for reading and uploading images.

Server request restrictions

If the images are hosted on an external server, there’s a possibility that the server might be blocking external server requests. To address this get in touch with the server team and discuss potential solutions for unblocking these requests.

If the image/logo missing issue still persists then move on to the solutions below:

1. Using the mPDF add-on

The image/logo missing issue in WooCommerce PDF documents can be solved using WebToffee’s free mPDF add-on. To solve this issue switch the builtin Dompdf library with the Mpdf library. To fix the image/logo missing issue:

  1. Install and Activate WebToffee’s mPDF add-on.
  2. Navigate to Invoice/Packing > General Settings> Advanced.
  3. Under the Advanced tab, navigate to the PDF library as shown below.
PDF library
PDF library
  1. Select Mpdf as the PDF library as shown below.
Selecting Mpdf as the PDF library
  1. Click on update settings and save changes.
Update settings
Update Settings

The image below displays a WooCommerce invoice PDF document with the image and logo missing issues resolved.

WooCommerce invoice
WooCommerce Invoice

2. Using a custom code snippet

An alternative solution to solve the image/logo missing issue is to use a custom code snippet.

Add the custom code snippet given below to the WordPress site. Add the custom code snippet directly into the active child theme’s functions.php file or use a third-party plugin. Refer to this article for more details on how to add a custom code snippet using a third-party plugin.

The custom code snippet is given below:

If the above solutions do not resolve the image or logo missing issue, feel free to reach out to our technical support team for further assistance.
  • Was this article helpful?
  • Yes, thanks!Not really
Get the plugin

On this page

  • Absence of image processing library
  • An issue with the image size
  • Permission issues
  • Server request restrictions
  • 1. Using the mPDF add-on
  • 2. Using a custom code snippet

This article posted in Customization, Documentation, WooCommerce PDF Invoices, packing slips and credit notes plugin

Written by

Sanjai Valsan

Technical Content Writer

Comments (4)

  1. Md Sabir

    September 3, 2023

    The images get corrupted/missing during email and download invoice. However, it works fine if i select print.
    Also note, that recently, i setup cloudflare.

    Reply
    • Hema

      September 7, 2023

      Hello Md Sabir,

      Thanks for reaching out. We need more data to find the root cause. Kindly contact us via customer support to get the issue resolved.

      Reply
  2. Jo

    April 20, 2022

    After downloading the plugin and changing the settings, it is still not working

    Reply
    • Mike

      April 21, 2022

      Hi,

      Since the issue is site specific kindly contact our support via this link to rectify it. Thanks for understanding.

      Reply

Got any query? Please leave a comment or reach out to our support

Cancel reply

Your email address will not be published. Required fields are marked *

Webtoffee
Facebook
Twitter
Youtube
Linkedin
WordPress

We develop awesome WordPress plugins & WooCommerce extensions to help build successful online businesses.

Trustpilot

© 2023 WebToffee. All rights reserved.

Our plugins

  • GDPR Cookie Consent
  • PDF Invoices & Packings Slips
  • Product Import Export Plugin
  • User & Customer Import Export
  • Import Export Suite
  • Sequential Order Numbers
  • Smart Coupons for WooCommerce
  • URL Coupons for WooCommerce
  • PayPal Express Checkout
  • Stripe Payment Gateway
  • Subscriptions for Woocommerce
  • WooCommerce Product Feed & Sync Manager
  • PrintNode for PDF Invoices
  • Order, coupon, subscriptions for WooCommerce
  • WordPress Backup and Migration
View more +

Get Started

  • Plugins
  • Testimonials
  • Customer Stories
  • Affiliates
  • We're hiring

Help & Support

  • Installation Guides
  • Documentation
  • Documentation (Basic)
  • Info Library
  • FAQ
  • Support

Company

  • About Us
  • Terms & Conditions
  • Privacy Policy
  • Cookie Policy
  • Refund Policy
  • Support Policy

© 2023 WebToffee. All rights reserved.

We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept”, you consent to the use of ALL the cookies. However you may visit Cookie Settings to provide a controlled consent.
Cookie settingsReject allAccept all
Privacy & Cookies Policy

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of the basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website, to store user preferences and provide you with content and advertisements that are relevant. Such cookies will be stored on your browser but only upon procuring consent.

You will also have the option to opt-out of these cookies should you want to. But opting out of some of these cookies may have an effect on your browsing experience as per the descriptions elucidated against the respective categories below.

Necessary
Always Enabled
The cookies defined under this category are absolutely essential for the website to function. Hence they are loaded by default irrespective if user consent.
CookieDescription
__cfruidCloudflare sets this cookie to identify trusted web traffic.
__stripe_midStripe sets this cookie cookie to process payments.
__stripe_sidStripe sets this cookie cookie to process payments.
cookielawinfo-checkbox-advertisementSet by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Advertisement" category .
cookielawinfo-checkbox-analyticsSet by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Analytics" category .
cookielawinfo-checkbox-necessarySet by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Necessary" category .
cookielawinfo-checkbox-preferencesThis cookie is set by the GDPR Cookie Consent plugin to check if the user has given consent to use cookies under the "Preferences" category.
CookieLawInfoConsentRecords the default button state of the corresponding category & the status of CCPA. It works only in coordination with the primary cookie.
PHPSESSIDThis cookie is native to PHP applications. The cookie is used to store and identify a users' unique session ID for the purpose of managing user sessions on the website. The cookie is a session cookie and is deleted when all the browser windows are closed.
viewed_cookie_policyThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not a user has consented to the use of cookies. It does not store any personal data.
Analytics
Analytics cookies help us understand how our visitors interact with the website. It helps us understand the number of visitors, where the visitors are coming from, and the pages they navigate. The cookies collect this data and are reported anonymously.
CookieDescription
_gaThis cookie is installed by Google Analytics. The cookie is used to calculate visitor, session, campaign data and keep track of site usage for the site's analytics report. The cookies store information anonymously and assigns a randomly generated number to identify unique visitors.
_ga_BQH8MSKD4MThis cookie is installed by Google Analytics.
_gat_gtagIdentification code of website for tracking visits.
_gidThis cookie is installed by Google Analytics. The cookie is used to store information on how visitors use a website and helps in creating an analytics report of how the website is doing. The data collected including the number visitors, the source where they have come from, and the pages visited in an anonymous form.
_hjAbsoluteSessionInProgressHotjar sets this cookie to detect the first pageview session of a user. This is a True/False flag set by the cookie.
_hjFirstSeenHotjar sets this cookie to identify a new user’s first session. It stores a true/false value, indicating whether it was the first time Hotjar saw this user.
_hjidHotjar cookie. This cookie is set when the customer first lands on a page with the Hotjar script. It is used to persist the random user ID, unique to that site on the browser. This ensures that behavior in subsequent visits to the same site will be attributed to the same user ID.
_hjIncludedInPageviewSampleHotjar sets this cookie to know whether a user is included in the data sampling defined by the site's pageview limit.
_hjIncludedInSampleThis cookie is set to let Hotjar know whether that visitor is included in the sample which is used to generate heatmaps, funnels, recordings, etc.
_hjIncludedInSessionSampleHotjar sets this cookie to know whether a user is included in the data sampling defined by the site's daily session limit.
_hjTLDTestTo determine the most generic cookie path that has to be used instead of the page hostname, Hotjar sets the _hjTLDTest cookie to store different URL substring alternatives until it fails.
CONSENTYouTube sets this cookie via embedded youtube-videos and registers anonymous statistical data.
has_recent_activityThis cookie is used to signal to the code repository website if the user has browsed other website resources during the current session.
tk_aiGathers information for our own first-party analytics tool about how our services are used. A collection of internal metrics for user activity and is used to improve user experience.
tk_lrThis cookie is set by the JetPack plugin on sites using WooCommerce. This is a referral cookie used for analyzing referrer behavior for Jetpack.
tk_orThis cookie is set by the JetPack plugin on sites using WooCommerce. This is a referral cookie used for analyzing referrer behavior for Jetpack.
tk_qsGathers information for our own first-party analytics tool about how our services are used. A collection of internal metrics for user activity and is used to improve user experience.
tk_r3dThe cookie is installed by JetPack. Used for the internal metrics for user activities to improve user experience.
Advertisement
Advertisement cookies help us provide our visitors with relevant ads and marketing campaigns.
CookieDescription
_fbpThis cookie is set by Facebook to deliver advertisements when they are on Facebook or on a digital platform powered by Facebook advertising after visiting this website.
frThe cookie is set by Facebook to show relevant advertisements to the users and measure and improve the advertisements. The cookie also tracks the behavior of the user across the web on sites that have Facebook Pixel or Facebook social plugin.
VISITOR_INFO1_LIVEA cookie set by YouTube to measure bandwidth that determines whether the user gets the new or old player interface.
YSCYSC cookie is set by Youtube and is used to track the views of embedded videos on Youtube pages.
yt-remote-connected-devicesYouTube sets this cookie to store the video preferences of the user using embedded YouTube video.
yt-remote-device-idYouTube sets this cookie to store the video preferences of the user using embedded YouTube video.
Preferences
Preference cookies are used to store user preferences to provide them with content that is customized accordingly. This includes the language of the website or the location of the visitor.
CookieDescription
_gh_sessThis cookie is used to preserve users' states across page requests.
Others
Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.
CookieDurationDescription
_hjSession_137657130 minutesNo description
_hjSessionUser_13765711 yearNo description
_octo1 yearNo description available.
_zendesk_authenticatedpastNo description
_zendesk_sessionsessionNo description available.
_zendesk_shared_sessionsessionNo description available.
edd_wp_session12 hoursNo description available.
logged_in1 yearNo description available.
m2 yearsNo description available.