Back to Community

Fixing Missing Characters & Currency Symbols in PDF Invoices & Packing Slips

Content

Are you seeing question marks, squares, or strange symbols where your text or currency symbols should be in your WooCommerce PDF invoices? This is a common issue, but the good news is that it's usually easy to fix. This guide will walk you through the most effective solutions based on the specific characters you're trying to display.

Why This Happens

The 'PDF Invoices & Packing Slips for WooCommerce' plugin uses a default font that does not include every possible character for all global languages and currencies. When the plugin tries to display a character not available in this font, it can't render it correctly, resulting in squares, dots, or other placeholder symbols. The solution depends on whether you're dealing with a currency symbol or a specific language's script.

Solution 1: Fixing Missing Currency Symbols (€, ₽, ฿, лв)

If your currency symbol (like the Euro, Russian Ruble, or Thai Baht) is not showing or is displaying incorrectly, follow these steps:

  1. Navigate to WooCommerce > PDF Invoices > General.
  2. Locate the 'Extended currency symbol support' option.
  3. Toggle this setting (check it if it's off, uncheck it if it's on).
  4. Save your changes and regenerate a PDF to test.

Many users find that simply toggling this setting resolves the issue. If the symbol appears in your browser but not in Adobe Reader, this is often the fix.

Solution 2: Reinstalling Fonts (General Fix)

If you've recently migrated your site, updated the plugin, or see general text corruption (like overlapping text or dots), the plugin's font files may have been deleted or corrupted. Reinstalling them is a quick fix.

  1. Go to WooCommerce > PDF Invoices > Advanced > Tools tab.
  2. Click the 'Reinstall fonts' button.
  3. Once the process is complete, clear your browser cache and generate a new PDF.

Solution 3: Displaying Right-to-Left (RTL) Languages

If you need to display languages like Arabic, Hebrew, or Persian (Farsi), which are written right-to-left, the default plugin does not support this out of the box. You will need a separate extension.

  1. Download the mPDF extension for RTL support. The 'PDF Invoices & Packing Slips for WooCommerce' team has historically provided this file directly to users (e.g., woocommerce-pdf-ips-mpdf.2.4.2.zip).
  2. Install and activate this extension like any other WordPress plugin.
  3. Go to WooCommerce > PDF Invoices > General.
  4. In the 'Choose a template' dropdown, select 'Simple RTL'.
  5. Save changes and generate a new PDF.

Solution 4: Displaying Asian Character Scripts

For languages with complex character sets like Chinese, Japanese, Korean, or Burmese (Myanmar), the default font lacks support. A custom font is required.

The 'PDF Invoices & Packing Slips for WooCommerce' team has offered a Unicode language pack extension (e.g., woocommerce-pdf-ips-unicode.1.0.1.zip) that includes the Arial Unicode MS font. This is a large file but provides broad character support.

  1. Download the Unicode language pack.
  2. Install and activate it on your site.
  3. The first PDF generation may take longer as the font is installed on the server, but subsequent PDFs will be faster.

Note: You can also manually add a custom font that supports your language by following the plugin's documentation on using custom fonts.

Summary of Solutions

Symptom Most Likely Solution
Currency symbol missing/wrong (€, ₽, ฿) Toggle the 'Extended currency symbol support' option.
Text appears as dots/boxes after site migration Use the 'Reinstall fonts' tool.
Arabic, Hebrew, or Persian text Install the mPDF RTL extension and use the 'Simple RTL' template.
Chinese, Japanese, or Korean characters Install the Unicode language pack extension.

By following these targeted solutions, you should be able to resolve most character display issues in your PDF documents. Always remember to clear your cache and regenerate the invoice after applying a fix.

Related Support Threads Support