pdfbox-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matt Pryor <pr...@international-presence.com>
Subject Re: Difference in fonts between PDFBox 1.8 and 2.0
Date Fri, 23 Mar 2018 17:07:19 GMT
Hi again Tillman

Believe I sorted this by copying the AS400 fonts folder into
System.getProperty("user.home")/.fonts

If I wanted to provide an OS400 implementation of NativeFontDirFinder to
look in the right place, and modify FontFileFinder to use it, what's the
best way of doing it?

Thanks for your help
Matt




On 23 March 2018 at 16:11, Matt Pryor <pryor@international-presence.com>
wrote:

> Thanks Tillman, none of those folders exist, and after a little research
> it seems that there are supposed to be true-type fonts in this folder:
>
> /QIBM/ProdData/OS400/Fonts/TTFonts/
>
> Although we don't have any, possibly because it's an optional extra which
> we haven't installed yet.
>
> Are truetype fonts what you look for?
>
> The os.name system property is "OS/400".
>
> Unable to find the .pdfbox.cache file at present, not sure where it's
> being written to.
>
> Thanks again for your help, much appreciated.
>
> Matt
>
>
>
>
>
>
> On 22 March 2018 at 20:24, Tilman Hausherr <THausherr@t-online.de> wrote:
>
>> Hello Matt,
>>
>> Your attachments don't go through. But what I can tell you is that 1.8
>> had many errors in rendering, so the many differences are usually not a
>> bug, but an improvement.
>>
>> The case you describe ("but it looks nothing like Courier") could be
>> because of missing fonts on your system so the "Liberation Sans" fallback
>> is used. Try to have Courier, Arial/Helvetica, Times, Symbol and Zapf
>> Dingats in your font directory.
>> Another possibility is that fonts are not found. Please post the
>> .pdfbox.cache from the user directory. Does this file have all the fonts on
>> your system? If not, please tell what directories to search.
>>
>> To find out more, have a look at
>> \fontbox\src\main\java\org\apache\fontbox\util\autodetect\UnixFontDirFinder.java
>> and the other "finders" in the package.
>>
>> It has
>>
>>         return new String[] { System.getProperty("user.home") +
>> "/.fonts", // user
>>                 "/usr/local/fonts", // local
>>                 "/usr/local/share/fonts", // local shared
>>                 "/usr/share/fonts", // system
>>                 "/usr/X11R6/lib/X11/fonts" // X
>>         };
>>
>> If that one isn't enough, please tell where the fonts are, and tell also
>> what System.getProperty("os.name") returns.
>>
>> Tilman
>>
>>
>> Am 22.03.2018 um 20:24 schrieb Matt Pryor:
>>
>>> Hello
>>>
>>> I'm resending this from the address I'm subscribed with, so hope it
>>> doesn't appear twice.
>>>
>>> We use PDFBox in our software which runs on IBM system i / AS400s to
>>> convert PDF files to TIFFs. We have many users who are on older JVMs, such
>>> as 1.5, so have to maintain code for them as well as people on newer JVMs.
>>>
>>> We recently swapped over to PDFBox 2.0.8 for users who are on JRE 1.6 or
>>> above and have had complaints from customers about the fonts changing. The
>>> issue does not occur when I test in a Windows environment but does on the
>>> iSeries JVM.
>>>
>>> I have attached two sample TIFF files, the first is generated with
>>> PDFBox 1.8 and the second with PDFBox 2.0.8 (named accordingly)
>>>
>>> I put logging output in the SetFontAndSize class and confirm that it's
>>> using "Courier-Bold" in 2.0.8, but it looks nothing like Courier.
>>>
>>> This is the code to create a BufferedImage from the PDF pages, which
>>> then gets inserted into the TIFF file
>>>
>>> PDFBox 1.8 code:
>>> ==============
>>>
>>>     int imageType = BufferedImage.TYPE_INT_RGB;
>>>
>>> int resolution = (int) PRINTER_RESOLUTION;
>>>
>>> PDDocument document = PDDocument.load( pdf );
>>>
>>> List<PDPage> pages =
>>>
>>> (List <PDPage>) document.getDocumentCatalog().getAllPages();
>>>
>>>     int pagesSize = pages.size();
>>>
>>>     for (int i = 1 - 1; i < pagesSize; i++) {
>>>
>>> PDPage page = pages.get(i);
>>>
>>> BufferedImage image = page.convertToImage(imageType, resolution);
>>>
>>> ….
>>>
>>>     }
>>>
>>>
>>>
>>> PDFBox 2.0.8 code:
>>> ================
>>>
>>>     PDDocument document = PDDocument.load( pdf );
>>>     PDPageTree pagetree = document.getDocumentCatalog().getPages();
>>>     int pagesSize = pagetree.getCount();
>>>     PDFRenderer pdfRenderer = new PDFRenderer(document);
>>>     for (int i = 1 - 1; i < pagesSize; i++) {
>>>         PDPage page = pagetree.get(i);
>>> BufferedImage image = pdfRenderer.renderImageWithDPI(i, 200,
>>> ImageType.RGB);
>>>         ...
>>>     }
>>>
>>> I'm hoping someone might be able to point me in the direction of what's
>>> going wrong or perhaps give me a better idea about how PDFBox generates or
>>> gets fonts. I realise the platform that I'm running on is rather obscure!
>>>
>>> Many thanks in advance
>>> --
>>> Matt Pryor
>>>
>>> The International Presence Group of Companies
>>>
>>> EMAIL:pryor@presencebpm.com <mailto:pryor@presencebpm.com>
>>>
>>> URL:www.International-presence.com <http://www.international-pres
>>> ence.com/>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@pdfbox.apache.org
>>> For additional commands, e-mail: users-help@pdfbox.apache.org
>>>
>>
>>
>>
>
>
> --
> Matt Pryor
>
> The International Presence Group of Companies
>
> EMAIL: pryor@presencebpm.com
>
> URL: www.International-presence.com
>
>
>


-- 
Matt Pryor

The International Presence Group of Companies

EMAIL: pryor@presencebpm.com

URL: www.International-presence.com

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message