Imprimir y vista previa de libro de trabajo

Introducción a la impresión

Microsoft Excel asume que desea imprimir toda el área de la hoja de cálculo a menos que especifique una selección. Para imprimir usando Aspose.Cells, primero importe el espacio de nombres Aspose.Cells.Rendering al programa. Tiene varias clases útiles, por ejemplo, SheetRender y WorkbookRender.

Impresión usando SheetRender

La clase Aspose.Cells.Rendering.SheetRender representa una hoja de cálculo y tiene el método ToPrinter que puede imprimir una hoja de cálculo. El siguiente código de muestra muestra cómo imprimir una hoja de cálculo.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Instantiate a workbook with Excel file.
Workbook workbook = new Workbook(dataDir + "SampleBook.xlsx");
string printerName = "";
while (string.IsNullOrEmpty(printerName) && string.IsNullOrWhiteSpace(printerName))
{
Console.WriteLine("Please Enter Your Printer Name:");
printerName = Console.ReadLine();
}
// Define a worksheet.
Worksheet worksheet;
// Get the second sheet.
worksheet = workbook.Worksheets[1];
// Apply different Image/Print options.
Aspose.Cells.Rendering.ImageOrPrintOptions options = new Aspose.Cells.Rendering.ImageOrPrintOptions();
options.PrintingPage = PrintingPageType.Default;
SheetRender sr = new SheetRender(worksheet, options);
Console.WriteLine("Printing SampleBook.xlsx");
// Print the sheet.
try
{
sr.ToPrinter(printerName);
Console.WriteLine("Pinting finished.");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}

Impresión usando WorkbookRender

Para imprimir un libro completo, recorra las hojas e imprímalas, o use la clase WorkbookRender.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
//Source directory
string sourceDir = RunExamples.Get_SourceDirectory();
// Instantiate a workbook with an Excel file.
Workbook workbook = new Workbook(sourceDir + "samplePrintingUsingWorkbookRender.xlsx");
string printerName = "doPDF 8";
// Apply different Image/Print options.
Aspose.Cells.Rendering.ImageOrPrintOptions options = new Aspose.Cells.Rendering.ImageOrPrintOptions();
options.ImageType = Drawing.ImageType.Tiff;
options.PrintingPage = PrintingPageType.Default;
// To print a whole workbook, iterate through the sheets and print them, or use the WorkbookRender class.
WorkbookRender wr = new WorkbookRender(workbook, options);
try
{
// Print the workbook.
wr.ToPrinter(printerName);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}

Vista previa de impresión

Puede haber casos en los que se necesite convertir archivos de Excel con millones de páginas a PDF o imágenes. Procesar tales archivos consumirá mucho tiempo y recursos. En tales casos, la función de vista previa de impresión del libro y la hoja de cálculo puede resultar útil. Antes de convertir dichos archivos, el usuario puede verificar el número total de páginas y decidir si se debe convertir o no. Este artículo se centra en el uso de las clases WorkbookPrintingPreview y SheetPrintingPreview para averiguar el número total de páginas.

Aspose.Cells proporciona la función de vista previa de impresión. Para esto, la API proporciona las clases WorkbookPrintingPreview y SheetPrintingPreview. Para crear la vista previa de impresión de todo el libro de trabajo, cree una instancia de la clase WorkbookPrintingPreview pasando objetos Workbook y ImageOrPrintOptions al constructor. La clase WorkbookPrintingPreview proporciona un método EvaluatedPageCount que devuelve el número de páginas en la vista previa generada. Al igual que la clase WorkbookPrintingPreview, la clase SheetPrintingPreview se utiliza para generar una vista previa de impresión para una hoja de cálculo específica. Para crear la vista previa de impresión de una hoja de cálculo, cree una instancia de la clase SheetPrintingPreview pasando objetos Worksheet y ImageOrPrintOptions al constructor. La clase SheetPrintingPreview también ofrece un método EvaluatedPageCount que devuelve el número de páginas en la vista previa generada.

El siguiente fragmento de código demuestra el uso de las clases WorkbookPrintingPreview y SheetPrintingPreview utilizando el archivo de Excel de muestra.

Código de muestra

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
//Source directory
string sourceDir = RunExamples.Get_SourceDirectory();
Workbook workbook = new Workbook(sourceDir + "Book1.xlsx");
ImageOrPrintOptions imgOptions = new ImageOrPrintOptions();
WorkbookPrintingPreview preview = new WorkbookPrintingPreview(workbook, imgOptions);
Console.WriteLine("Workbook page count: " + preview.EvaluatedPageCount);
SheetPrintingPreview preview2 = new SheetPrintingPreview(workbook.Worksheets[0], imgOptions);
Console.WriteLine("Worksheet page count: " + preview2.EvaluatedPageCount);

A continuación se muestra la salida generada al ejecutar el código anterior.

Salida de la consola

Workbook page count: 1
Worksheet page count: 1

Temas avanzados