C++ aracılığıyla JavaScript ile önizleme çalışma kitabı

Yazdırma Önizlemesi

Milyonlarca sayfaya sahip Excel dosyalarının PDF veya resimlere dönüştürülmesi gereken durumlar olabilir. Bu tür dosyaları işlemek çok zaman ve kaynak tüketir. Bu durumda, Çalışma Kitabı ve Çalışma Sayfası Yazdırma Önizleme özelliği faydalı olabilir. Bu dosyaları dönüştürmeden önce toplam sayfa sayısını kontrol ederek dosyanın dönüştürülüp dönüştürülmeyeceğine karar verebilir. Bu makale, toplam sayfa sayısını öğrenmek için WorkbookPrintingPreview ve SheetPrintingPreview sınıflarının kullanılmasına odaklanır.

Aspose.Cells, yazdırma önizleme özelliği sağlar. API, WorkbookPrintingPreview ve SheetPrintingPreview sınıflarını içerir. Tüm çalışma kitabının yazdırma önizlemesini oluşturmak için, WorkbookPrintingPreview sınıfından bir örnek oluşturun ve yapıcıya Workbook ve ImageOrPrintOptions nesnelerini geçirin. WorkbookPrintingPreview sınıfı, oluşturulan önizlemedeki sayfa sayısını döndüren bir evaluatedPageCount metot sağlar. WorkbookPrintingPreview sınıfına benzer şekilde, SheetPrintingPreview sınıfı belirli bir çalışma sayfası için yazdırma önizlemesi oluşturmak için kullanılır. Bir çalışma sayfasının yazdırma önizlemesini oluşturmak için SheetPrintingPreview sınıfından bir örnek oluşturun ve yapıcıya Worksheet ve ImageOrPrintOptions nesnelerini geçirin. SheetPrintingPreview sınıfı ayrıca, oluşturulan önizlemede sayfa sayısını döndüren evaluatedPageCount metodunu sağlar.

Aşağıdaki kod parçacığı, örnek excel dosyası kullanılarak hem WorkbookPrintingPreview hem de SheetPrintingPreview sınıflarının kullanımını gösterir.

Örnek Kod

<!DOCTYPE html>
<html>
    <head>
        <title>Aspose.Cells Example - Printing Preview</title>
    </head>
    <body>
        <h1>Printing Preview Example</h1>
        <input type="file" id="fileInput" accept=".xls,.xlsx,.csv" />
        <button id="runExample">Run Example</button>
        <a id="downloadLink" style="display: none;">Download Result</a>
        <div id="result"></div>
    </body>

    <script src="aspose.cells.js.min.js"></script>
    <script type="text/javascript">
        const { Workbook, ImageOrPrintOptions, WorkbookPrintingPreview, SheetPrintingPreview } = AsposeCells;

        AsposeCells.onReady({
            license: "/lic/aspose.cells.enc",
            fontPath: "/fonts/",
            fontList: [
                "arial.ttf",
                "NotoSansSC-Regular.ttf"
            ]
        }).then(() => {
            console.log("Aspose.Cells initialized");
        });

        document.getElementById('runExample').addEventListener('click', async () => {
            const fileInput = document.getElementById('fileInput');
            if (!fileInput.files.length) {
                document.getElementById('result').innerHTML = '<p style="color: red;">Please select an Excel file.</p>';
                return;
            }

            const file = fileInput.files[0];
            const arrayBuffer = await file.arrayBuffer();

            // Instantiating a Workbook object from the uploaded file
            const workbook = new Workbook(new Uint8Array(arrayBuffer));

            // Creating image/print options
            const imgOptions = new ImageOrPrintOptions();

            // Workbook printing preview
            const preview = new WorkbookPrintingPreview(workbook, imgOptions);
            const workbookPageCount = preview.evaluatedPageCount;
            console.log("Workbook page count: " + workbookPageCount);

            // Worksheet printing preview for first worksheet
            const preview2 = new SheetPrintingPreview(workbook.worksheets.get(0), imgOptions);
            const worksheetPageCount = preview2.evaluatedPageCount;
            console.log("Worksheet page count: " + worksheetPageCount);

            document.getElementById('result').innerHTML = `<p>Workbook page count: ${workbookPageCount}</p><p>Worksheet page count: ${worksheetPageCount}</p>`;
        });
    </script>
</html>

Yukarıdaki kodun yürütülmesiyle oluşturulan çıktı aşağıdaki gibidir.

Konsol Çıktısı

  
Workbook page count: 1  
Worksheet page count: 1  

Gelişmiş Konular