GdPicture.NET.14
GdPicture14 Namespace / GdPicturePDF Class / PrintDialogFit Method / PrintDialogFit() Method
Example





In This Topic
PrintDialogFit() Method
In This Topic
Invokes the standard Windows Print dialog box, which allows you to select additional options or settings and then to print the currently loaded PDF document. The size of the document's pages is automatically adjusted to the actual paper size.
Syntax
'Declaration
 
Public Overloads Function PrintDialogFit() As Boolean
public bool PrintDialogFit()
public function PrintDialogFit(): Boolean; 
public function PrintDialogFit() : boolean;
public: bool PrintDialogFit(); 
public:
bool PrintDialogFit(); 

Return Value

true if the method has been followed successfully, otherwise false. Please use the PrintGetStat method to determine the reason for the printing failure.
Remarks
It is recommend to use the GetStat method or the PrintGetStat method to identify the specific reason for the method's failure, if any.

You also need to be aware that annotations and form fields included in the document are rendered by default using this method when printing.

Just to inform you, that sometimes pages in the PDF document may have defined their internal rotation, which causes them to be unexpectedly rotated when printing. Then you need to use the NormalizePage method for each such page to remove that rotation. You can also use the GetPageRotation method to find out if the page should be rotated when printed.

Example
How to print the current document using the standard Windows Print dialog box so the document's pages are adjusted to the specified paper size automatically.
Dim caption As String = "Example: PrintDialogFit"
Using gdpicturePDF As New GdPicturePDF()
    If gdpicturePDF.LoadFromFile("document_to_print.pdf", False) = GdPictureStatus.OK Then
        Dim ps As New System.Drawing.Printing.PaperSize("My Custom Size", 850, 1100)
        gdpicturePDF.PrintSetPaperSize(ps)
        If gdpicturePDF.PrintDialogFit() = True Then
            MessageBox.Show("The file has been printed successfully.", caption)
        Else
            Dim message As String = "The file can't be printed." + vbCrLf + "Status: " + gdpicturePDF.PrintGetStat().ToString()
            If gdpicturePDF.PrintGetStat() = GdPictureStatus.PrintingException Then
                message = message + "    Error: " + gdpicturePDF.PrintGetLastError()
            End If
            MessageBox.Show(message, caption)
        End If
        gdpicturePDF.CloseDocument()
    Else
        MessageBox.Show("The file can't be loaded. Status: " + gdpicturePDF.GetStat().ToString(), caption)
    End If
End Using
string caption = "Example: PrintDialogFit";
using (GdPicturePDF gdpicturePDF = new GdPicturePDF())
{
    if (gdpicturePDF.LoadFromFile("document_to_print.pdf", false) == GdPictureStatus.OK)
    {
        System.Drawing.Printing.PaperSize ps = new System.Drawing.Printing.PaperSize("My Custom Size", 850, 1100);
        gdpicturePDF.PrintSetPaperSize(ps);
        if (gdpicturePDF.PrintDialogFit() == true)
        {
            MessageBox.Show("The file has been printed successfully.", caption);
        }
        else
        {
            string message = "The file can't be printed.\nStatus: " + gdpicturePDF.PrintGetStat().ToString();
            if (gdpicturePDF.PrintGetStat() == GdPictureStatus.PrintingException)
                message = message + "    Error: " + gdpicturePDF.PrintGetLastError();
            MessageBox.Show(message, caption);
        }
        gdpicturePDF.CloseDocument();
    }
    else
    {
        MessageBox.Show("The file can't be loaded. Status: " + gdpicturePDF.GetStat().ToString(), caption);
    }
}
See Also