public void PrintPageInfo() { //ExStart //ExFor:PageInfo //ExFor:PageInfo.GetSizeInPixels(Single, Single, Single) //ExFor:PageInfo.GetSpecifiedPrinterPaperSource(PaperSourceCollection, PaperSource) //ExFor:PageInfo.HeightInPoints //ExFor:PageInfo.Landscape //ExFor:PageInfo.PaperSize //ExFor:PageInfo.PaperTray //ExFor:PageInfo.SizeInPoints //ExFor:PageInfo.WidthInPoints //ExSummary:Shows how to print page size and orientation information for every page in a Word document. Document doc = new Document(MyDir + "Rendering.docx"); // The first section has 2 pages. We will assign a different printer paper tray to each one, // whose number will match a kind of paper source. These sources and their Kinds will vary // depending on the installed printer driver. PrinterSettings.PaperSourceCollection paperSources = new PrinterSettings().PaperSources; doc.FirstSection.PageSetup.FirstPageTray = paperSources[0].RawKind; doc.FirstSection.PageSetup.OtherPagesTray = paperSources[1].RawKind; Console.WriteLine("Document \"{0}\" contains {1} pages.", doc.OriginalFileName, doc.PageCount); float scale = 1.0f; float dpi = 96; for (int i = 0; i < doc.PageCount; i++) { // Each page has a PageInfo object, whose index is the respective page's number. PageInfo pageInfo = doc.GetPageInfo(i); // Print the page's orientation and dimensions. Console.WriteLine($"Page {i + 1}:"); Console.WriteLine($"\tOrientation:\t{(pageInfo.Landscape ? "Landscape" : "Portrait")}"); Console.WriteLine($"\tPaper size:\t\t{pageInfo.PaperSize} ({pageInfo.WidthInPoints:F0}x{pageInfo.HeightInPoints:F0}pt)"); Console.WriteLine($"\tSize in points:\t{pageInfo.SizeInPoints}"); Console.WriteLine($"\tSize in pixels:\t{pageInfo.GetSizeInPixels(1.0f, 96)} at {scale * 100}% scale, {dpi} dpi"); // Print the source tray information. Console.WriteLine($"\tTray:\t{pageInfo.PaperTray}"); PaperSource source = pageInfo.GetSpecifiedPrinterPaperSource(paperSources, paperSources[0]); Console.WriteLine($"\tSuitable print source:\t{source.SourceName}, kind: {source.Kind}"); } //ExEnd }