Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tables row are not aligned when using external fonts #32

Closed
dluzzon opened this issue Mar 15, 2016 · 29 comments
Closed

Tables row are not aligned when using external fonts #32

dluzzon opened this issue Mar 15, 2016 · 29 comments
Assignees
Labels

Comments

@dluzzon
Copy link

dluzzon commented Mar 15, 2016

On Sample 1 I have added fonts:

` //fonts to be used by the doc

PDType0Font tnrFont;
PDType0Font tnrBoldFont;

//Initialize Document

    PDDocument doc = new PDDocument();
    File tnrFontFile = new File("c://temp//font//times.ttf");
    tnrFont = PDType0Font.load(doc, tnrFontFile);
    File tnrBoldFontFile = new File("c://temp//font//timesbd.ttf");
    tnrBoldFont = PDType0Font.load(doc, tnrBoldFontFile);

`
in the for loop used the new Fonts with size 14:

        //Add multiple rows with random facts about Belgium
        for (String[] fact : facts) {

            row = table.createRow(50f);
            cell = row.createCell((100 / 3f) * 2, fact[0]);
//          cell.setFont(PDType1Font.HELVETICA);
            cell.setFont(tnrFont);
            cell.setFontBold(tnrBoldFont);
            cell.setFontSize(14);

the output was this problematic pdf:
BoxableSample1_with_PDType0Font.pdf

there are few problems here:

  1. lines
  2. text is not going to the next row but there are two words on same location.
@Frulenzo
Copy link
Collaborator

Can you please try this type of loading when you are working with TrueType font

PDFont tnrFont = PDTrueTypeFont.loadTTF(document, "c://temp//font//timesbd.ttf");

Here is my example with other external font
NewFontExample.pdf

@dluzzon
Copy link
Author

dluzzon commented Mar 15, 2016

there is still an issue:
It is working when using English letter.
but when using Hebrew, getting this error (that did work for me with
PDType0Font):
j
ava.lang.IllegalArgumentException: U+05D1 is not available in this font's
encoding: WinAnsiEncoding
at
org.apache.pdfbox.pdmodel.font.PDTrueTypeFont.encode(PDTrueTypeFont.java:358)
at org.apache.pdfbox.pdmodel.font.PDFont.encode(PDFont.java:285)
at org.apache.pdfbox.pdmodel.font.PDFont.getStringWidth(PDFont.java:314)
at be.quodlibet.boxable.Paragraph.getLines(Paragraph.java:83)
at be.quodlibet.boxable.Paragraph.getHeight(Paragraph.java:154)
at be.quodlibet.boxable.Cell.getTextHeight(Cell.java:391)
at be.quodlibet.boxable.Cell.getCellHeight(Cell.java:366)
at be.quodlibet.boxable.Row.getHeight(Row.java:159)
at be.quodlibet.boxable.Table.isEndOfPage(Table.java:613)
at be.quodlibet.boxable.Table.drawRow(Table.java:216)
at be.quodlibet.boxable.Table.draw(Table.java:196)
at
be.quodlibet.boxable.TableTest_WithHebrew.Sample1(TableTest_WithHebrew.java:127)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)

On Tue, Mar 15, 2016 at 1:27 PM, Hrvoje Štimac notifications@github.com
wrote:

Can you please try this type of loading when you are working with TrueType
font

PDFont tnrFont = PDTrueTypeFont.loadTTF(document, "c://temp//font//timesbd.ttf");

Here is my example with other external font
NewFontExample.pdf
https://github.com/dhorions/boxable/files/173788/NewFontExample.pdf


You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
#32 (comment)

@dluzzon
Copy link
Author

dluzzon commented Mar 17, 2016

any direction where is the issue? how to fix?

@Frulenzo
Copy link
Collaborator

I will look this more thoroughly on the weekend but here is good starting point (in the comment section) : https://issues.apache.org/jira/browse/PDFBOX-3138

Also I caught random comment which I saved for later

The Encoding is almost the smallest part of the problem, but the approach is as follows.
Assuming you are NOT using a CID font, the Encoding is an array of names which you generate with Differences etc. The names are standardised, and listed in the "Adobe Glyph List". I assume you have the Unicode values for Hebrew; you can convert the Unicode values to names using the list.

These names must match the encoding actually used in the font. You must embed the font for non-Latin characters (except CJKV). You CANNOT use a non-embedded font. You CANNOT just apply a Hebrew encoding to a standard font like Helvetica. Type 1 fonts are simplest if you can source 1, you should find the encoding if you open it in a text editor (but do NOT save any edits it will break the font).

(more on https://forums.adobe.com/thread/1354064?tstart=0)

@dluzzon
Copy link
Author

dluzzon commented Mar 19, 2016

Thanks.

Was not able to solve it.

So if you can provide sample, it would help.

Thanks a lot.

From: Hrvoje Štimac [mailto:notifications@github.com]
Sent: Friday, March 18, 2016 10:07 AM
To: dhorions/boxable
Cc: Danny Luzzon
Subject: Re: [boxable] Tables row are not aligned when using external fonts (#32)

I will look more thoroughly on the weekend but here is good starting point (in the comment section) : https://issues.apache.org/jira/browse/PDFBOX-3138


You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub #32 (comment) https://github.com/notifications/beacon/AMZzv2Z8VKXuUZMJb3q35GAD4hMPZnF1ks5pul0xgaJpZM4Hw4JM.gif

@Frulenzo
Copy link
Collaborator

Unicode output in PDF is royal pain. Sadly I don't have time to make this work but here is the most accurate thread that I could find : http://stackoverflow.com/questions/1713751/using-java-pdfbox-library-to-write-russian-pdf.

@dluzzon
Copy link
Author

dluzzon commented Mar 21, 2016

Thanks a lot,
will take a look on your link.

On Mon, Mar 21, 2016 at 12:49 PM, Hrvoje Štimac notifications@github.com
wrote:

Unicode output in PDF is royal pain. Sadly I don't have time to make this
work but here is the most accurate thread that I could find :
http://stackoverflow.com/questions/1713751/using-java-pdfbox-library-to-write-russian-pdf
http://url. Sorry that I can't provide direct solution.


You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
#32 (comment)

@dhorions
Copy link
Owner

I took a stab at this, and I think it's possibly just an issue with your particular font;
I created this gist, and when using the font used in this issue and loading it like this :

PDType0Font font = PDType0Font.load(doc, new File("c://temp//arialbd.ttf"));

The output looks ok to me (but then, I don't speak any Russian).

BoxableSample1.pdf

@Frulenzo
Copy link
Collaborator

Can you please add this line in some of the test cases and post here PDF output? I really want to see if formating is broken.

@dluzzon
Copy link
Author

dluzzon commented Mar 23, 2016

example:
BoxableSample1.pdf

code related to it:

TableTest.txt

font used are win7 and are the official one provided by win.
by the way same issue was on win10 with wim10 fonts.

if you will send me your ttf file can try to test it as well.

@dluzzon
Copy link
Author

dluzzon commented Mar 23, 2016

another sample with ariel.ttf
BoxableSample1.pdf

@dhorions
Copy link
Owner

Please do attach the font files you are using.

@dluzzon
Copy link
Author

dluzzon commented Mar 23, 2016

@dhorions
Copy link
Owner

Thanks, will review as soon as I have a chance, most likely not today.

@dluzzon
Copy link
Author

dluzzon commented Mar 23, 2016

Thanks. good luck.

@dhorions
Copy link
Owner

@dluzzon I have an unrelated question, but I don't think there's a good way on github to contact people. I see you are also using XChart, and I was wondering if you are using that inside pdf's using pdfbox as well? If so, would you mind sharing some examples with me, I think this could be really usefull for some of the projects I am working on.

Feel free to email me :
image

@dluzzon
Copy link
Author

dluzzon commented Mar 24, 2016

Sure, will send you tomorrow. Not near the desc most of the day today.

From: Dries Horions [mailto:notifications@github.com]
Sent: Wednesday, March 23, 2016 4:40 PM
To: dhorions/boxable
Cc: Danny Luzzon
Subject: Re: [boxable] Tables row are not aligned when using external fonts (#32)

@dluzzon https://github.com/dluzzon I have an unrelated question, but I don't think there's a good way on github to contact people. I see you are also using XChart https://github.com/dluzzon/XChart , and I was wondering if you are using that inside pdf's using pdfbox as well? If so, would you mind sharing some examples with me, I think this could be really usefull for some of the projects I am working on.

Feel free to email me :
https://cloud.githubusercontent.com/assets/1682004/13988728/8b85b97c-f10d-11e5-907d-77ae0366d74e.png image


You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub #32 (comment) https://github.com/notifications/beacon/AMZzvzwjQ7-gEPbifMQVKN9RXt0g4YS5ks5pwVDWgaJpZM4Hw4JM.gif

@dhorions
Copy link
Owner

I haven't been able to resolve the issue yet, but I think I did find the cause for it.
When drawing a cell the position to draw the text is calculated using FontUtils.getHeight() and FontUtils.getDescent().

For those externally loaded fonts, this doesn't seem to return correct values.

File tnrFontFile = new File("c://temp//font//times.ttf");
        PDType0Font tnrFont = PDType0Font.load(doc, tnrFontFile);

        File tnrBoldFontFile = new File("c://temp//font//timesbd.ttf");
        PDType0Font tnrBoldFont = PDType0Font.load(doc, tnrBoldFontFile);

        //The problem is FontUtils calculating the height incorrectly
        float tnrFontHeight = FontUtils.getHeight(tnrFont, 14);
        float tnrFontDescent = FontUtils.getDescent(tnrFont, 14);
        float defaultFontHeight = FontUtils.getHeight(PDType1Font.HELVETICA_BOLD, 14);
        float defaultDescent = FontUtils.getDescent(PDType1Font.HELVETICA_BOLD, 14);

        System.out.println(
                tnrFontFile + " height : " + tnrFontHeight + "\n"
                + tnrFontFile + " descent : " + tnrFontDescent + "\n"
                + "PDType1Font.HELVETICA_BOLD" + " height : " + defaultFontHeight + "\n"
                + "PDType1Font.HELVETICA_BOLD" + " height : " + defaultDescent + "\n"
        );

This results in :

c:\temp\font\times.ttf height : 0.014
c:\temp\font\times.ttf descent : -0.0
PDType1Font.HELVETICA_BOLD height : 13.09
PDType1Font.HELVETICA_BOLD height : -2.842

I'll try to figure out what can be done about it, but if anyone else has ideas, feel free to comment.

@dhorions
Copy link
Owner

It seems PDFont.getHeight is deprecated https://pdfbox.apache.org/docs/2.0.0/javadocs/org/apache/pdfbox/pdmodel/font/PDFont.html#getHeight(int)

I did a small test modifying FontUtils.createFontMetrics like this :

private static void createFontMetrics(final PDFont font) throws IOException
    {
        //Handle type0 fonts differently
        if (font instanceof PDType0Font)
        {
            final float height = font.getFontDescriptor().getFontBoundingBox().getHeight() / 1000 * 0.865f;
            fontMetrics.put(font.getName(), new FontMetrics(height, 0, 0));
        }
        else
        {
            final float base = font.getHeight("a".codePointAt(0)) / 1000;
            final float ascent = font.getHeight("d".codePointAt(0)) / 1000 - base;
            final float descent = font.getHeight("g".codePointAt(0)) / 1000 - base;
            fontMetrics.put(font.getName(), new FontMetrics(base + ascent + descent, ascent, -descent));
        }
    }

That seems to deliver better results, but isn't a good final solution.

@mkuehne @Frulenzo

what do you think would be the best way to determine the height of the text?

BoxableSample1.pdf

@dhorions dhorions added the bug label Mar 25, 2016
@dluzzon
Copy link
Author

dluzzon commented Mar 25, 2016

Hi, just a thought.

Why do you need to calculate the height of the text?

Isn’t the row height is an input to the row on create row?

From: Dries Horions [mailto:notifications@github.com]
Sent: Friday, March 25, 2016 10:56 AM
To: dhorions/boxable
Cc: Danny Luzzon
Subject: Re: [boxable] Tables row are not aligned when using external fonts (#32)

I did a small test modifying FontUtils.createFontMetrics like this :

private static void createFontMetrics(final PDFont font) throws IOException
{
//Handle type0 fonts differently
if (font instanceof PDType0Font)
{
final float height = font.getFontDescriptor().getFontBoundingBox().getHeight() / 1000 * 0.865f;
fontMetrics.put(font.getName(), new FontMetrics(height, 0, 0));
}
else
{
final float base = font.getHeight("a".codePointAt(0)) / 1000;
final float ascent = font.getHeight("d".codePointAt(0)) / 1000 - base;
final float descent = font.getHeight("g".codePointAt(0)) / 1000 - base;
fontMetrics.put(font.getName(), new FontMetrics(base + ascent + descent, ascent, -descent));
}
}

That seems to deliver better results, but isn't a good final solution.

@mkuehne https://github.com/mkuehne @Frulenzo https://github.com/Frulenzo

what do you think would be the best way to determine the height of the text?

BoxableSample1.pdf https://github.com/dhorions/boxable/files/189208/BoxableSample1.pdf


You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub #32 (comment) https://github.com/notifications/beacon/AMZzv1W5OEfApqxwTe63uWGxOMQgal81ks5pw5UfgaJpZM4Hw4JM.gif

@dhonorez
Copy link

Also running in font alignment issues, most of them are solved by using the correct font loader. However, Cell.setHeaderCell seems to also break alignment.

@dobluth
Copy link
Collaborator

dobluth commented Mar 29, 2016

Hi,

we face several problems here.

First of all, working with hebrew (or Unicode) characters works fine for me using the provided Times font. Type 1 fonts only support 8-bit code points, as pointed out by the thrown exception:

java.lang.IllegalArgumentException: Can't encode U+05DC in font Helvetica. Type 1 fonts only support 8-bit code points
    at org.apache.pdfbox.pdmodel.font.PDType1Font.encode(PDType1Font.java:343)
    at org.apache.pdfbox.pdmodel.font.PDFont.encode(PDFont.java:283)
    at org.apache.pdfbox.pdmodel.font.PDFont.getStringWidth(PDFont.java:312)
    at be.quodlibet.boxable.Paragraph.getLines(Paragraph.java:83)
...

My output looks like this:
using-times
As you can see, all characters are looking good, but the top padding seems to be lost. This is due to the wrong font height calculation. Good work catching that, @dhorions !

I also stumbled over the calculation you propose, but I did not like the magic number 0.865, as it is just an approximation and can differ for different fonts (see http://stackoverflow.com/a/17202929/4074024). That's why we decided to determine the font height using the current technique. As the method font.getHeight() is deprecated, we should consider alternatives. The documentation recommends using the bounding box (font.getBoundingBox().getHeight()), like you did.

Fetching the font's height via the bounding box does not provide data about the ascent and descent, but maybe we can avoid using them. But evaluating the necessary changes will need some time.

Using your font height fix and the provided Times font a single cell looks like this:
broken-padding
As you can see, the padding is broken: the red line is longer than the green line. This is partly because the font height is not accurate, but mainly caused by the missing value for the ascent. To accurately align the font, it is necessary to have the ascent. I have no solution for that problem at the moment. Maybe use another magic number? It's a pity PDFBox does not provide a proper method to determine the font metrics.

@dhonorez Could you please provide an example?

@dhonorez
Copy link

@dobluth I solved it by instead of using the Cell.setHeaderCell, using the table.setHeader() method.

This does not work, as in, does not align correctly with external font:

Row<PDPage> headerRow = table.createRow(15f);
Cell<PDPage> cell = row.createCell(25, "test");
cell.setHeaderCell(true);

This works:

Row<PDPage> headerRow = table.createRow(15f);
Cell<PDPage> cell = row.createCell(25, "test");
table.setHeader(headerRow);

PS: this was on version 1.2.2 , version 1.3 is slightly more consistent.

@dluzzon
Copy link
Author

dluzzon commented Mar 31, 2016

Hi,
Looks these two issues solved (using v1.3 with the fix suggested on FontUtils.createFontMetric):

  1. lines
  2. text is not going to the next row but there are two words on same location.

few problems I still have:

  1. the first mentioned by @dobluth adding is broken: the red line is longer than the green line
  2. VerticalAlignment - has no effect
    it doesn't metter what I'm using on the code:
    VerticalAlignment.MIDDLE VerticalAlignment.TOP VerticalAlignment.BOTTOM
    all behave the same like on @dobluth sample above with the red and green.
    I have tried it with both table.addHeaderRow(headerRow) and also table.setHeader
    the problem is with all rows and not just the header.

here is my code:

        cell = headerRow.createCell((rowLength / 6), new StringBuilder(CommonUtil.getLocalValue(routHeaderMonthPayment)).reverse().toString(),HorizontalAlignment.CENTER, VerticalAlignment.MIDDLE);
        cell.setFont(tnrFont);
        cell.setFontBold(tnrBoldFont);
        cell.setFontSize(6);

        cell = headerRow.createCell((rowLength / 12), new StringBuilder(CommonUtil.getLocalValue(routHeaderInterestRate)).reverse().toString(),HorizontalAlignment.RIGHT, VerticalAlignment.TOP);
        cell.setFont(tnrFont);
        cell.setFontBold(tnrBoldFont);
        cell.setFontSize(6);

        cell = headerRow.createCell((rowLength / 12), new StringBuilder(CommonUtil.getLocalValue(routHeaderYears)).reverse().toString(),HorizontalAlignment.LEFT, VerticalAlignment.BOTTOM);
        cell.setFont(tnrFont);
        cell.setFontBold(tnrBoldFont);
        cell.setFontSize(6);

@Frulenzo
Copy link
Collaborator

Check PR #37 . We are using fontDescriptor methods for retrieving font metrics, avoiding deprecated methods and magic numbers ;)

Now the cell content looks like this:
text-positioning

@dluzzon
I tested the vertical alignment with the Times font and the fix of #37, and everything works fine. I assume, your texts have the same number of lines? If that is the case, the vertical alignment has no effect, as there is no white space in the cell. Could you please try using texts with different number of lines?

@dhorions
Copy link
Owner

@Frulenzo That looks promising, I'll try to find time tomorrow to review and merge.

@dluzzon
Copy link
Author

dluzzon commented Mar 31, 2016

works perfect.
I have one line for each cell. so assume this is the reason.
How do I write few lines to one cell?
please add code sample will test it.

@Frulenzo
Copy link
Collaborator

@dluzzon
Just spam it with some text and WrappingFunction should do the rest

My example

[...]
//Create Header row
Row<PDPage> row = table.createRow(15f);
Cell<PDPage> cell = row.createCell((100 / 3f), "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce tincidunt consequat tincidunt. Donec gravida, justo tristique volutpat aliquet, mauris nulla pulvinar libero, vel commodo magna ex ac dolor. Integer feugiat velit a leo commodo viverra. Integer volutpat magna ac blandit luctus. Etiam lobortis nulla a placerat consequat. Aliquam orci orci, pretium eu quam eu, malesuada hendrerit ipsum. Quisque imperdiet mi in dui lacinia tincidunt. Integer id varius ligula, et aliquet elit. Phasellus facilisis et urna ut scelerisque. Nunc et neque nec arcu malesuada tristique fermentum ut ante. Donec accumsan in urna id fringilla. Mauris in tempor tellus. Mauris in semper purus, auctor dapibus risus. Quisque maximus lorem vel sem suscipit faucibus. Fusce velit diam, tincidunt ac est at, feugiat dapibus diam. Ut malesuada, arcu fringilla pretium placerat, felis velit elementum ante, sed fermentum eros enim a arcu. ", HorizontalAlignment.get("center"),
                VerticalAlignment.get("top"));
cell.setFont(PDType1Font.HELVETICA);
cell.setFontSize(6);

Cell<PDPage> cell2 = row.createCell((100 / 3f), "It's me", HorizontalAlignment.get("center"),
                VerticalAlignment.get("middle"));
cell2.setFont(PDType1Font.HELVETICA);
cell2.setFontSize(6);

Cell<PDPage> cell3 = row.createCell((100 / 3f), "I was wondering", HorizontalAlignment.get("center"),
                VerticalAlignment.get("bottom"));
cell3.setFont(PDType1Font.HELVETICA);
cell3.setFontSize(6);

Row<PDPage> row2 = table.createRow(15f);
Cell<PDPage> cell4 = row2.createCell((100 / 3.0f), "Hello", HorizontalAlignment.get("center"),
                VerticalAlignment.get("top"));
cell4.setFont(PDType1Font.HELVETICA);
cell4.setFontSize(6);

Cell<PDPage> cell5 = row2.createCell((100 / 3f), "can you hear me?", HorizontalAlignment.get("center"),
                VerticalAlignment.get("middle"));
cell5.setFont(PDType1Font.HELVETICA);
cell5.setFontSize(6);

Cell<PDPage> cell6 = row2.createCell((100 / 3f),
                "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce tincidunt consequat tincidunt. Donec gravida, justo tristique volutpat aliquet, mauris nulla pulvinar libero, vel commodo magna ex ac dolor. Integer feugiat velit a leo commodo viverra. Integer volutpat magna ac blandit luctus. Etiam lobortis nulla a placerat consequat. Aliquam orci orci, pretium eu quam eu, malesuada hendrerit ipsum. Quisque imperdiet mi in dui lacinia tincidunt. Integer id varius ligula, et aliquet elit. Phasellus facilisis et urna ut scelerisque. Nunc et neque nec arcu malesuada tristique fermentum ut ante. Donec accumsan in urna id fringilla. Mauris in tempor tellus. Mauris in semper purus, auctor dapibus risus. Quisque maximus lorem vel sem suscipit faucibus. Fusce velit diam, tincidunt ac est at, feugiat dapibus diam. Ut malesuada, arcu fringilla pretium placerat, felis velit elementum ante, sed fermentum eros enim a arcu. ",
                HorizontalAlignment.get("center"), VerticalAlignment.get("bottom"));
cell6.setFont(PDType1Font.HELVETICA);
cell6.setFontSize(6);
table.draw();
[...]

bildschirmfoto von 2016-03-31 13 56 55

@dluzzon
Copy link
Author

dluzzon commented Mar 31, 2016

Yes, all fine now.
tested.

@dhorions dhorions self-assigned this Apr 1, 2016
@dhorions dhorions closed this as completed Apr 2, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants