mPDF: long text in table td shrinks to small size - mpdf

I am posting an entire html to mpdfp. It works fine. But when the content in table is more or there is an email address or website name in the column (td) the font size of the text shrinks to unreadable font. What must be the issue? Please help on this. Check the attached image for the issue.
Thanks

As noted in this question: mPDF: Text becomes small when string in table is too long
mPDF automatically reduces font size in tables. There is a maximum shrink factor set in $this->shrink_tables_to_fit variable in config.php. It can be turned off / set differently with
$mpdf->shrink_tables_to_fit=0;
in config.php or with providing an extra parameter to the opening table tag:
<table autosize="1">
Default value for the variable is 1.4.
Also see Tables section of mPDF manual https://mpdf.github.io/tables/tables.html#autosize, especially the infobox Note: mPDF will always resize tables if it is the only way to fit a row or whole table onto a full page.

Related

BIRT Column Width not being Respected

I'm trying to create a BIRT report. The code and query side of it works just fine, but the display is rather wonky.
There's one column whose text contents are rather long, and instead of showing some text and allowing scrolling of the text (which is the behavior I'd like there), it simply shows up as a very vertically long text block; kinda ruins the report a bit. I've also tried setting the width on the column, but no dice there either. Any ideas?
Also, as an aside, how do I get the table's columns to have grid lines? I can do that on the rows, but I can't seem to figure out how to do that for the columns. If anyone has insight into that issue, it'd be appreciated.
Here's a screenshot of the issue
Here's my BIRT report XML, without headers and footers in order reduce characters
I think there is no way to use a scrollable view element inside your report, because the output by the default html-emitter is completely static (I would like to see a different answer if this should be wrong).
To your second Question about how to add a border to a column. Click into the cell of your table, click on "Border" inside the "Properties Editor" and select the borders you like to use. This should be repreated for all cells where you want to use the borders, because this configuration is not applied for a whole column but just for one cell. If you want a border for the whole column you need to setup the border for every cell in the column.
If you have already a data cell inside your table cell, you can use the outline view to select the table cell instead of the data cell:

RDLC reports not being centered

This is the screenshot of an RDLC report in my Visual Studio report designer
As you can see from the screenshot, my table is totally centered.
This is the screenshot of my report in running mode.
You can see that the table has moved to the right a bit.
I do not know why this is happening. I have set the CanGrow and CanShrink attribute of my individual columns to false, but I think my table body is growing.
It looks like email address length is the reason - it causes this column to expand. You can test this theory by removing record #4 from you report's data source.
Check that two things are set in properties:
click on containing Text Box and click F4. Make sure that "Can Grow" property is set to true (which most likely already is)
right click on containing Text Box and go to TextBox property window. Make sure that sizing option "Allow Height to increase" is checked ON (in General tab). This should push text in the column to wrap instead.
Do the same thing for all the columns that you anticipate longer text (like applicant name). Also, consider increasing initial width of this kind of columns to get more predictable formatting results.
Another thing to do is to remove all white space on the right and left of the table and setting all the margins to make page to be exactly 8.5 x 11 in total (if, for example, you are aiming to use letter page size). This would remove any "space to grow" for the table.

primefaces datatable width not rendering good

When I use a datatable and start shrinking my browser window, the datatable has a weird behavior. The center part (where the data is), doesn't shrink but the paginator does.
Here are some pics about the problem.
Thanks in advance.
It's because it can't break up the titles in your table header. If you would place spaces in between instead of using capital letters, it would break the title up and divide it over multiple lines.
If you don't have access to the table header's name (or the ability to change it), take a look at the word-wrap-property in CSS.

How do I set the line height of a FormattedText

I am building a text-to-image generator that takes a text, a font, a max width and some other parameters and generates an image from this. It will be used as a custom server control in a web site to generate headlines.
I allready have a component like this which uses GDI+. The problem with this is that GDI+ is incapable of setting line height which means I have to render the text first and then copy the resulting rows into a new Bitmap using the line height I want.
I am now looking at using WPF components instead and have managed to create text images using FormattedText. The problem is that I still cannot set line height. Is there a way to do this? If I could set letter spacing as well, that would be even better.
You should just be able to set the LineHeight property, is that not working?

text box giving problems on ASP.Net page

I am designing a page to Add/Edit users - I used a repeater control and a table to display users. In users view the individual columns of the table row have labels to display a record values and when users click on edit button, the labels are hidden and text boxes are displayed for users to edit values - The problem is - as soon as the text boxes are visible, the table size increases - the row height and cells size becomes large. Is there a way to display the text boxes so that they take the same size as the labels
Dealing with tables, the question is: can your labels span on multiple text rows (ie: can you have long texts)? If yes, you may encounter layout problems any way. If no, a simple approach can be creating a CSS Class:
.CellContent { display:block; width: ...; height: ...; }
with your preferred cell width/height. Just stay a bit "large" with your height.
Assign the class to both your label and textbox, and you should not get width/height changes when switching control (thanks to the display:block property).
Again, if you have long texts, you will still encounter issues, and may want to use multilines. In that case, I would suggest ignoring height problems: just set the width to be consistent, and always show a 3-4 lines textbox for editing. Users will not be bothered to see a row height change, if they are ready to type long texts.
I'd use JS+CSS... You'll have to get your hands dirty for this one though. Visual Studio isn't going to help you much.
Here's how I'd do it:
Get the <td> clientWidth and clientHeight.
Set the <td>'s width and height to those px values (so they're no longer relative)
Swap the text for the input
In your CSS, make sure the input has no padding/margin/border and set width:100%, line-height:1em, and height:1em
When you switch back, make sure you un-set the <td> width and height so they return to automatic values.
You'll need to tweak this all slightly. I'm sure you'll have to play around with the padding on the <td> and perhaps set overflow:hidden but you should be able to do what you want.

Resources