CFDOCUMENT PDF White Space Issue - pdf

I realize that there are several other posts similar to this one, but I have tried every solution found within them and have not had any luck. Basically, I have a ColdFusion generated webpage that consists of a jQuery DataTable. I want to export the contents of the DataTable to PDF, however on certain tables where the table content exceeds the height of the page, the PDF adds my header area and then the rest of the page is blank. The table then shows up on page 2. Has anyone had trouble similar to this?
I've tried setting the page size, margins, #imports for the CSS, standard links for the CSS, inline CSS, and nothing seems to fix it.
Any help is greatly appreciated! Any suggestions are welcome too!

What ended up fixing this problem for me is I wrote a simple javascript function that takes two parameters, the id of the table requested and the max rows per page. My javascript function then grabs the entire table, and breaks it into separate tables using the max rows value as the number of rows per table. I then output the JS variable as the value for the tag and there are no longer incorrect page breaks.
I hope that in the future the cfdocument tag will be more proficient at knowing when it's reached the end of a page and break the content appropriately, but for now this works.

Related

Razor Pages horizontal Table

Good morning,
I am developing my Web Application using .Net Core 3.1 and Razor Pages.
In my application I need to display a large amount of data on a grid and would therefor like to rotate a standard grid 90 degrees. I would like to obtain something like the "Horizontal Scroll" of this blog post but instead of just scrolling horizontally I would likle to move the headers to the side and, as mentioned above, rotate the entire grid fields.
I can't find any API that suites my needs though. Does anyone have suggestions on something I could try? I wouldn't want to have to build the entire grid myself (with all the paging, filtering and ordering logic). I am open for alternative solutions as well!!
Thanks everyone!
This seems more like an HTML question, and does not really relate to Razor Pages. Here are a couple of examples of horizontal scrolling HTML tables:
https://mdbootstrap.com/docs/jquery/tables/scroll/#datatable-horizontal-scroll
https://datatables.net/examples/basic_init/scroll_x.html
You said you need to display a large amount of data, I think the
design you currently want is not suitable for the display of a large
amount of data.
Because if the title is on the left, then only one data can be displayed on each page, and each page needs to load the title, which will lead to great redundancy.
If you just want to display beautiful because of too many columns, I suggest you use the responsive property in jQuery datatable, which can dynamically display the number of columns according to your current page width, and collapse or display the extra columns.
You can refer to this.

Tumblr Description <table>

I'm writing some code that will go into the description box of a Tumblr page, in order to set a small tagline on the left of the header, and a search box of the right side of the same line. I've been trying to use a table with two cells and the width of the page to achieve this. However, it seems that the description box doesn't accept the <table> tag (it appears to work in the preview but not in the actual page).
Is there any other way to achieve inline content, with one justified left and the other right?
It is possible to include HTML elements in your Tumblr description.
There are two ways to achieve this:
Escape any HTML you are adding to the description box. This tool can help.
Modify the themes HTML and take advantage of Variable Transformations. In this scenario the {Description} tag would be replaced with {PlaintextDescription}
Either method should allow you to add HTML elements.
Also, I would take the advice of the comment made above. There is no need to use a table for the layout your trying to achieve.

Lucene SearchResult.Fields collection is missing some properties

I have asked the following question at the Our Umbraco community site also, but I've had no luck there so far.
I've got a task where I need to manually add database records for a media image file, which is to appear in an Umbraco site for our client.
My SQL consists of:
Adding a record in umbracoNode for the image.
Adding a record in cmsContent
Adding a record in cmsContentXml
Adding records to cmsPropertyData for the image's umbracoFile, umbracoWidth, umbracoHeight, umbracoBytes, umbracoExtension
After executing the above, and logging into Umbraco, I can see the image in the Media area and all looks fine.
The problem is the call the #Model.MediaById() (in a Razor file) when I want to display that image - basically no image is displayed since the img 'src' attribute is not set.
I've stepped through the Umbraco code and found the problem. Basically when the code uses Lucene to search for the media (ExaminedBackendMedia.GetUmbracoMedia()), it does find the image file, however there are a number of fields missing for the SearchResult. For example, none of the "umbraco*" properties adde to cmsPropertyData appear in the fields collection. When I step through the code for another image (one that was added manually) I can see an extra 5 or so properties in the fields collection - including all the "umbraco*" properties.
So I can see that I have missing data here. Basically the SearchResult object is missing some fields. Can someone suggest what I may have missed please? Why is Lucene not picking up the "umbraco*" properties that I've added via SQL scripts?
You need to make sure that you republish the nodes, which will take them from the database entries that you created and put them into the XML cache that umbraco actually uses when serving up data.

PDF Generation: fit table to page

I have to export a table with dynamic count of rows to a PDF that must fit on one page.
Currently, I'm generating an HTML document, wrapping the table within a <div> and then using CSS zoom to zoom out; the percentage is calculated with the count of rows. This HTML is then converted to PDF via wkhtmltopdf.
I need a better solution because the zoom calculation is not very reliable. Some rows are displayed higher than others and also wkhtmltopdf has some rendering troubles when using zoom.
I looked in the docs of FOP, iText and some other libraries/tools but couldn't find a solution.
Only requirement: It has to run on a Linux machine.
Thanks!

Ereader-Style Pagination

I am grabbing text data from XML files, and want it to display in book page-like format inside a UIWebView on iPad. The XML files are coming out of a .epub, and each one contains a single chapter of a book, divided up only by p tags.
I want to dynamically paginate these files into book-like pages based on the size of the UIWebView, which is a full iPad screen, as well as by user-selected font size. I am currently loading a blank html page with related css into a UIWebView, grabbing paragraphs based on number of characters as Strings from the XML, and printing these into the html using StringByEvaluatingJavaScriptFromString and the innerHTML property.
Obviously, doing this by number of characters creates improperly spaced, oddly formatted pages, but I'm not sure how else to "paginate" the text.
What I am looking to do is something akin to the app "eReader" on iPad:http://www.ereader.com/. They seem to be breaking a single file up into pages dynamically, and loading it into UIWebViews. How is this done?
Most EPUB readers that are based on UIWebView simply use CSS3 Columns to paginate the document.
You can see this in action at http://www.quirksmode.org/css/multicolumn.html
The basic idea is that you 'columnize' the document and then scroll horizontally through it to show a specific page.
Having done this for one popular (Canadian) eReader application on the iPhone and iPad, I can tell you that the technique works but that it is far from ideal.
The code is already made. It is called epubjs. It is Javascript only epub reader.
Use UITextView with PageviewController . (specify your doubts in it , if any )