Changing header height with iText - itext

This is my first post on SO, so please be gentle :). I'm going to go ahead and apologize for how vague this will probably sound and for the lack of code (this is for work, and I am forbidden from posting it). I will try to pseudocode it or explain it as best as I can, but I have no choice in not being able to show code.
The customer wants a report that pulls data from a DB, so I will have no way of knowing how many pages will be in the form. There are essentially 2 sections of the form. My problem is that the headers have different heights.
The first page of the report's header is built like this:
report header
additional info 1
additional info 2
column header
The rest of the first section leaves out the Additonal Info 1 and Additional Info 2 tables and only has the report Header and Column Header, thus not needing as much space as the header on the first page. But the problem is that I don't know how to shrink the header size. The second section's header is even smaller.
What I have tried so far:
Changing the value for the number of rows in my writeSelectedRows() depending on the page.
Setting the height of the header to a smaller size (before calling document.newPage() since I've seen in my days of google searching for this topic that the header height has to be set before calling newPage())
Adjusting the top margin size of the document depending on which section it is on
None of this even worked. I realize this is incredibly vague and there is probably no way anybody could answer this based on what I've written. I guess I am just asking if anybody knows any links to similar problems I could check out. I have spent days googling this topic and have read tons on it, but still have nothing that works. I have read through all of the relevant tutorials on the iText page. Still nothing that suits what the customer is wanting.
I have looked over possibly using ColumnText and PdfReader/PdfStamper(the "second pass" scenario), but I don't think I can use the ColumnText option since the headers have tables of varying cell widths and the like, and the "second pass" option doesn't leave me with a way to know which section of the report I am on (as far as I can tell).
Any advice or help would be GREATLY appreciated!!

Related

Is there any way to break up a PDFTable onto a different page?

First time poster here...but been using StackOverflow for solutions whenever I get stuck.. ton of great information here! I will try to describe the question as thoroughly as I can and hope someone can help me out with it. I need to generate a PDF in Swift and present it on an iPad, so i decided to use TPPDF for the PDF generation and then Apple's PDFKit to present it.
TPPDF has been working great for me, however, I ran into an issue where if I create a PDFTable with an enough amount of rows, it overflows into the next page without creating a new table. The last row gets cut off about 1/3 way and the other 2/3 is generated on the next page. This creates a weird visual effect which i'd rather not have if it's possible.
I've been reading through the documentation as well as sifting through the source code to try and figure out if there's a way but I can't find a decent workaround. The only workaround I can think of is splitting up the content and creating multiple PDFTables on new pages (using the createNewPage() method). This would take a good amount of rework in my code so I wanted to post it here to see if anyone has come across this and come up with a solution.
I appreciate any help!!
-George
thanks for asking, this is actually an on-going issue which occured after adding the merge-cell feature. This is discussed in issue #243, so you take a closer look at what's going on there.

Rainloop - How to access DKIM and other header information in the Message View

I have a heavily modified Rainloop install. Figured out a lot of ways to modify it, but having the following issue:
Rainloop shows a DKIM signature indicator (with it's own interpretation) as a green checkmark.
If you hover your mouse pointer over it (when shown), it will show a "tool-tip" of the text in that header.
The problem here is, on mobile you can't "hover", generally speaking. How can I access the header data via JS, or how can I talk to the element for the "tool-tip" for the DKIM header info so I can put a click-listener on the indicator?
It's nice they show it on the mouse-over, but I can't seem to find any way to reference it.
In addition, it would be really grand to show that info in the "info" expandable box.
This is all pertaining to the Message View in Rainloop specifically.
Really nice program. But there is no documentation on their API.
Anyone have ideas on this? I can't seem to get a handle on it through devtools.
If I could just get a solid CSS selector to reference it by that would be grand.
All I seem to be coming up with on searches are similar expressions.
Hoping maybe someone on Stack might have found a clue on this, because DKIM is important, and ordinary users need simple indications as to trust.
This is something to help other people, not just me, so if anyone has a way can you share?
Okay. So right after I posted, I did find it. Not sure how I missed it before, but the dkim results header data can be found in the "dkim icon"'s title attribute-- the "icon" is an tag (rainloop hijacks the tag as UTF8 icon containers).
So the tooltip apparently is an actual tooltip, whereas I thought it was something like a hidden div being shown on a mouse-over.
I wonder if there is a way to get it to show on a click instead of a hover (preferably using CSS).

How do i track clicks using facebook pixels?

I've been re-reading this page and it just seems so vague on how to help me. I have a newsletter button I am trying to track clicks on through facebook pixels but facebooks documentation and lack of proper testing is frustrating me.
Here is the documentation I am reading
https://developers.facebook.com/docs/facebook-pixel/events-advanced-use-cases/v2.8
If I read this correctly, to track a single button I have to install code in three different sections? They don't specify the sections either, so I'm assuming they go in the order they displayed it (viewContent goes in the header, button id goes in the body of the page, and the final fbq tracking goes in the footer).
If anyone has a more simple approach to this or can explain this in a better way I would greatly appreciate it. Adding code in three different sections and creating multiple heads just to track different things on different pages seems like a lot more work than I need to be doing.
Thanks in advance

master-detail style report with jasper

So, I have a report to make, and I need some help to clear up some doubts.
The report has to show information about 2 tables related in a one-to-many
fashion, like, a "post has many comments" kind of thing. So, in the detail
section data about "the post" and "the comments" related to it should be
printed, if any. My question is: is it possible to create such a report
with jasper?
Initially I thought of using a subreport to fill in the comments in the detail
section for each post, but couldn't figure out how could I use the ID of the
post to get the comments and fill the report, if it's possible at all that is,
and the tests made so far to try to use such ID haven't succeeded yet. Any
help or pointer to the answer (if it already exists at SO) will be appreciated.
Of course you can do that. You might try with Jasper Groups, but it will require a query extracting data from a joint of the two tables. And as you're already trying with Sub-Reports, you should take a look at this post. It's quite straightforward: Master-Detail JasperReports

itextsharp Modifying Table Header Row on Page break

I am using itextsharp pdfptables in columns. I have a table that is very long and goes across multiple pages. The header, "XYZ", repeats as it should but I want the header to be "XYZ - Continued" on subsequent pages. I have tried looking for an event in the table but no luck!
I am working in VB.net but samples in C# work too.
Any help is appreciated!
I recommend taking a look at PdfPTableEvent.
There's also a document level page event, though it's not as helpful in this case.
I think you'll need a partially blank header, and then have to fill in the variable parts during your PdfPTableEvent callbacks.
Yes, this documents the Java version of iText. However, all the methods are identical, or very nearly so. Your IDE should help you iron out any differences.