Skip to Content

Clarification on ADAPT01383393 and custom paper sizes vs. portrait/landscape orientation

Hi, in there's a comment from 2010 by Ludek Uher that says:

The fix is being tracked by QA under ADAPT01383393.

Observed Behavior:

If the width of the report is larger than the height and the page orientation is set toportrait, thePrintToPrinter() function swaps the measurements around so that the height is larger than the width (as with a usual portrait setting). This means that the text is cut off as the paper is not wide enough. [ ... ]

Fix Pack 2.8 ETA: end of May 2010

And in Don Williams's comment from 2012 says "CR has logic ( and that's debatable ) when the paper width is narrower than the page length then you have a Portrait page."

Are the two comments talking about the same issue? If so, it sounds like the FP2.8 back in 2010 didn't actually change the behavior, since it's still the same in 2012? And as far as I can tell, it's still the same with CR Developer for VS SP21: if I add a new blank report and go to Crystal Reports -> Design -> Page Setup, check Dissociate Formatting Page Size ... and enter a Horizontal size of 3 and Vertical size of 1, the Orientation radio button switches to Landscape. And if I change it back to Portrait, the Horizontal size changes to 1 and Vertical size changes to 3.

I do think the logic as described in "CR has logic ( and that's debatable ) when the paper width is narrower than the page length then you have a Portrait page." is incorrect and would like to debate it :) While the regular English meaning of Portrait vs. Landscape orientation is talking about whether the page width is greater than page height or not, in a computing context, it's talking about whether text should be rotated when printed/displayed or not. That's why there's a separate Portrait vs. Landscape setting in the first place; if it could always be inferred from the page width and height, there would be no need to separately specify it.

So in a computing context, Portrait orientation means don't rotate when printing to the output device, and Landscape means rotate by either 90 or 270 degrees (see e.g., In the common case of a US Letter 8.5x11 page (or A4), portrait is 8.5x11 and landscape is 11x8.5 and the English definition matches the computing definition. But when dealing with a 3x1 label, that's landscape by the English definition, but I usually want text to go horizontally on it, i.e., portrait by the computing definition. So the fact that Crystal won't allow me to setup a page as 3x1 portrait is a problem.

As some other threads talking about this issue have mentioned, it does work if a custom 3x1 form size is defined in the printer driver properties, and the Dissociate Formatting Page Size ... checkbox is unchecked. But I don't believe this should be necessary (and in fact, I'm pretty sure it wasn't necessary back in CR XI R2 with the old ActiveX interface).

I can't tell whether ADAPT01383393 was supposed to change CR so that portrait vs. landscape was no longer tied to the page horizontal and vertical dimensions, but they are currently tied together in CR for VS, and as I said, I think that's incorrect. Is there no way to print horizontal (unrotated) text on a 3x1 label without defining a custom form in the printer driver settings? If not, I'd like to suggest that CR allow setting the page orientation independently of page size.

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

1 Answer

  • Best Answer
    Jan 26, 2018 at 09:39 PM

    Hi David,

    You are referring to products and versions 10 years old. Logic for printing changed a lot as of CR 2008, and even more in current versions.

    Are you using the Report Designer built into Visual Studio? CR in VS is a basic version and may not have all feature updates, by design.

    CR Designer 2016 does not have the behaviour you are describing, it will allow you to set those values as you want:

    Dissociate is to remove the dependency on the design printer.

    To get the latest CR for VS go here:

    Now remember also, when using Custom Papers sizes or any paper size the printer you are using MUST support that size....

    CR Designer has hardware and software dependencies. If no printer is used then USP10 and GDIPlus in .NET, is used, GDI in CR Designer. They have limitations also, but CR will actually use some of your Default Printer properties.

    So only thing I can suggest is test using current versions and see how that works for you.

    Just remember these points:

    CR Reports has hardware and software dependencies, always has.

    Printers used in the report must be installed on the PC.

    Custom Paper sizes must be defined in and supported by the printer, for example you cannot print a letter size page to a label printer. That is the logic mentioned, current versions of CR will query the printer selected and try to find the closest match that will fit.

    Also, for more info and details go to this et of WIKI pages on printing:


    Add comment
    10|10000 characters needed characters exceeded