How to prevent loosing RDLC report body size? - pdf

I have a RDLC report which should display information on one page in pdf.
I have a PageSize 21cm, 29.7 (standart A4).
I have a Page Header and Footer - each 2.5cm.
Body size 21cm, 23.7cm.
Margins for top and bottom - each 0.5cm.
So in theory it means that my page height is 23.7+0.5x2+2.5x2=29.7 - all seems to be fine.
In practice, for some reason, all elements placed after 23cm (body) are moved to the next page.
I cant get it, where is the problem and what is wrong if on RDLC all seems fine, but in pdf I am loosing 7mm of Body.
What it can be?

Check your margin sizes in the report's property and eliminate any "white" space in the report - even horizontal. Even little bit of horizontal overflow would be "pushed" to second page.

You set margin right and left to 0.5cm, then body width will be 20cm not 21cm.

Related

to make large SSRS report printable

I am having issue while printing report from SSRS. I can export to Excel. This is big layout report. Can you please provide any suggestion to make it printable.
I'd recommend exporting, then in excel you can see the print boundaries after opening and closing the print menu. You can then adjust the size of the columns to allow it to fit within a single page width. Beyond that, changing font size or scaling the data in the print menu. I'd need more details to give a more exact answer.
This would really depend on how "big" the layout of your report is.
You want to determine what is the biggest paper size you are able to print on, then you can set the dimensions of the report to correspond with the size. Easiest way is to right click outside of the report body and click "Report Properties". You can pick your orientation, paper size and the margins.
When I have a report with a good number of columns that needs to be printed, I typically set the paper size as Letter (W11 x H8.5), orientation of the report to Landscape, set left and right margins to .25. This means the max width of the report cannot exceed 10.5 in. (W11 - .5 (left and right margin combined)). To verify this, go to Properties window (F4), on the very top of the window there is a dropdown that highlights which properties you are adjusting, make sure it's selected to Body. With this example, the size of the body should have a width not exceeding 10.5 in..
When you Preview the report, in the toolbar there is a Print Layout icon, this will show you what your report will look like when it's printed.
If it still doesn't print nicely despite setting all the size correctly, I would recommend removing some columns.

How to change the height of an SSRS report based on its content?

I have a report that has 3 pages (it's basically 3 images), one on each page.
The 3rd image should only be visible given a condition. This part works. The image is displayed or not displayed properly.
The problem is, if the image is NOT displayed, I don't want to show a blank page there. The report needs to go onto the next page.
How do I make it so that if the 3rd page isn't there, then a blank space will not be rendered?
Like with most formatting questions, the answer is: a Rectangle.
Put your image in a rectangle and use the visibility of the rectangle. When invisible, the rectangle will not consume the space.

Rendering footer in abcpdf on different orientated pages

I am following the example to add a footer with the page number to a page “Headers and Footers Example” from the abcpdf documentation site.
The problem is that my pdf document has multiple pages with different orientations and different page sizes.
Mostly the pages are either portrait and A4 or landscape and A3 but there is a possibility the A3 could be in portrait.
Is there a way to easily put the footer in the correct part of the document for each of these pages, particularly given that once the document has been added it doesn’t seem that I am able to tell easily what orientation/page size is being used.
Currently I am building separate documents for each section and setting the orientation and then appending them to a master document.
I need to put the page number in the format "Page X of Y", I am able to get page numbers working correctly if I do it per sub document but I need it for the overall document
When you read the document / PDF you get access to properties such as pdf width and pdf height. the location to add an object on the header is x: 0, y:0 the footer is simply height of document - height of footer object with again a X of 0.
see this here : http://www.websupergoo.com/helppdf8net/source/2-getting_started/3-coordinates.htm
that's a good example of how to place your rect, inside your rect goes your text i.e Page 2 of 16
http://www.websupergoo.com/helppdf8net/default.htm?page=source%2F2-getting_started%2F3-coordinates.htm
cropbox is the way to get your actual size of the document, and therefore know what coordinates to enter for your rect that contains text.
however you will find it easier if you think in percentage, rather than fixed figures, 10% from the bottom is always 10% no matter what size the document is !!

rdlc - phantom page break, what to check?

I have a RDLC report which has some controls on the first page, which are inside a rectangle and which display ok. Beneath the rectangle, i have a matrix, which spans more than one page both in width and in height. I want the matrix to start rendering on the second page. If I enable "insert break before" on the matrix, there is an extra blank page before the matrix(in print layout), which is my problem. If I reduce the amount of data, so the matrix does not span more than one page in width, there is no blank page, and all is well. I checked the Page and Body sizes, they are ok. Any tips? This has been driving me crazy all day, what can I check? Thx
I know this is probably too late now, but I was receiving extra page breaks if my Body size width property was greater than my Report PageSize width property.
Check both these things.
Put borders on everything to see if they are wider than the page. Check the keepTogether property on all the elements to see if they are creating extra white-spaces.
Try setting the 'insert break before' on a dummy rectangle between your first page content and the matrix, instead of giving it directly on the matrix itself.

How to limit RDLC report for one page in a PDF ?

I have a RDLC report and I am displaying it on the Report Viewer Control in my front end application. I am able to view the report perfectly.
But the problem arises when I try to export the report to a PDF (using the built-in option).
I print the report in 3 pages whereas my client wants it to be in a single page. I can't figure out the reason for it as in my report viewer I see only one page but in a PDF there are 3 pages.
Can something be done about it so that I can control the size of the report?
The answer is pretty similar to what Dugan said, but it's not always just the margins.
It is pretty simple though:
When you are editing the rdlc file in design mode, firstly click on an empty part of the BODY area of your design. Hit F4 to see the properties tab. Here, you will see a "Size" property. This can be expanded for the width and height. The width you see here represents the width that the body of your report requires as printable area. Even if you have white space all over, the page knows that it needs to keep it as a printable area. It reserves the space, in some sense. As for the height, the system generally knows that it can grow or shrink as necessary, unless you have specified otherwise within your controls therein. So the width is what will, usually, play the most important role.
Next, click on an empty area of the report (outside the header, body, and footer; basically the gray area around the design), then hit F4 to view the properties panel. Under the "Layout" category of the properties, you will see 3 different options:
InteractiveSize,
Margins,
PageSize.
Each of those Size attributes can be expanded to show the Width and Height. The Margins attribute can be expanded for the left/right/top/bottom.
Basically, the pdf export works out of the PageSize (though I generally try to keep Interactive and Page size equal). When the pdf file is rendered via the ReportViewer's built-in export function, the width and height of each "page" within the pdf will be determined by the width and height in the report's PageSize attribute (you could override this if you used your own custom code for the pdf rendering).
As for the margins, they specify how much space MUST be left blank and unprintable between the printable area reserved for your report and the edge of the page.
In other words:
Your report's Body's Width, Plus the Report's Left Margin, Plus the Report's Right Margin, MUST be smaller than or equal to the Report's PageSize's Width!
So...if your margins are too wide, or if your report's body is too wide, or if the PageSize's width is too narrow, the rendered result is forced to be broken down to multiple pages in order to fit!
For example: If my report's body has width 7.75", my Left margin is 0.5", my right margin is 0.5", and the width specified in the PageSize is 8.5", my report will always use 2 pages for each 1 page of data. The 7.75" width of the body, plus 0.5"+0.5" for the margins add up to 8.75", which is larger than the 8.5" available in my page. So the first 7.5" (or so) of each page of my report's body will be shown in the first page, and the rest will be split down to the next page. This will not be done inside the report viewer, as it allows for the report to grow beyond the page size by just adding a scrollbar, but it will be annoyingly noticeable in the pdf export.
In order to make my example report fit in 1 page, I can either try and reduce the body of my report to 7.5" or less, or I can reduce the left and right margins by a total of 0.25" or more (for example, set them to 0.3" for a total reduction of 0.4"), or I can increase the PageSize to something larger than 8.75".
Note: Acrobat Reader is pretty smart and knows about various paper sizes. Therefore, while arbitrary PageSizes will work, it is typically best to use real page sizes. As such, in my last example I would rather set the PageSize to have Width = 11" and Height = 8.5", which is a real letter-size in landscape! Adobe will typically understand this and print properly.
Also Note: Some printers, especially older ones, have trouble printing with less than 0.3" margins. If you want to be nice to your users, you should best keep the margins large enough for those older printers ;)
I hope this helps.
Always maintain body width : 7.5 or less
Left, Right Margin width less than 0.5
Set the Margin width first -> goto main menu Reports->Report Properties->Layout->change left margin and right margin
Total page width :8.5
Ramana
In addtion to watching your widths, I found other unrelated things that can cause extra blank page in the PDF.
If the tablix has any field with word wrap, this can cause it. You might want to make the font smaller if you have long data. Make the font size property equal to something like this:
=iif(len(Fields!RepGroupName.Value) > 25, "6pt","8pt")
Another thing you may have to do. And this helped me when I had no apparent reason for the extra page. In the Report property page, set:
ConsumeContainerWhitespace = true
Yet another thing to watch for. The body size can grow without you knowing it while making changes to the layout. You might have to knock it back down again.
This issue is highly annoying for the end user if not resolved and annoying as heck for us to resolve.
In case anyone else runs into this issue and ends up here, it's most likely a issue with your margins. If the margins are set incorrectly, you will often get "extra" pages that appear when you try and print, whereas when you view the document everything is fine.