Yazdırma Seçeneklerini C++ ile Ayarlama

Baskı Seçeneklerini Ayarlama

Bu baskı seçenekleri, kullanıcıların şunları yapmalarını sağlar:

  • Çalışma sayfasında belirli bir baskı alanı seçin.
  • Başlıkları yazdırın.
  • Izgaraları yazdırın.
  • Satır/sütun başlıklarını yazdırın.
  • Taslak kalitesine ulaşın.
  • Yorumları yazdırın.
  • Hücre hatalarını yazdırın.
  • Sayfa sıralamasını tanımlayın.

Aspose.Cells, Microsoft Excel tarafından sunulan tüm yazdırma seçeneklerini destekler ve geliştiriciler bu seçenekleri PageSetup sınıfı tarafından sunulan özellikleri kullanarak kolayca yapılandırabilir. Bu özelliklerin nasıl kullanılacağı aşağıda daha detaylı olarak anlatılmıştır.

Baskı Alanı Belirle

Varsayılan olarak, baskı alanı veri içeren çalışma sayfasının tüm alanlarını içerir. Geliştiriciler, çalışma sayfasının belirli bir baskı alanını belirleyebilirler.

Belirli bir baskı alanı seçmek için, PageSetup sınıfının GetPrintArea() özelliğini kullanın. Bu özelliğe, baskı alanını tanımlayan bir hücre aralığı atayın.

#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;

int main()
{
    Aspose::Cells::Startup();

    // Source directory path
    U16String srcDir(u"..\\Data\\01_SourceDirectory\\");

    // Output directory path
    U16String outDir(u"..\\Data\\02_OutputDirectory\\");

    // Create a new workbook
    Workbook workbook;

    // Get the first worksheet
    Worksheet worksheet = workbook.GetWorksheets().Get(0);

    // Get the PageSetup object of the worksheet
    PageSetup pageSetup = worksheet.GetPageSetup();

    // Set the print area to the range A1:T35
    pageSetup.SetPrintArea(u"A1:T35");

    // Save the workbook
    workbook.Save(outDir + u"SetPrintArea_out.xls");

    std::cout << "Print area set successfully!" << std::endl;

    Aspose::Cells::Cleanup();
}

Başlıkları Yazdırma

Aspose.Cells, basılı bir çalışma sayfasının tüm sayfalarında tekrar edecek şekilde satır ve sütun başlıklarını belirlemenize olanak tanır. Bunu yapmak için PageSetup sınıfının GetPrintTitleColumns() ve GetPrintTitleRows() özelliklerini kullanın.

Tekrar edilecek satırlar veya sütunlar, satır veya sütun numaralarını geçirerek tanımlanır. Örneğin satırlar $1:$2 ve sütunlar $A:$B olarak tanımlanır.

#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;

int main()
{
    Aspose::Cells::Startup();

    // Source directory path
    U16String srcDir(u"..\\Data\\01_SourceDirectory\\");

    // Output directory path
    U16String outDir(u"..\\Data\\02_OutputDirectory\\");

    // Path of output excel file
    U16String outputFilePath = outDir + u"SetPrintTitle_out.xls";

    // Create a new workbook
    Workbook workbook;

    // Obtain the reference of the PageSetup of the first worksheet
    Worksheet worksheet = workbook.GetWorksheets().Get(0);
    PageSetup pageSetup = worksheet.GetPageSetup();

    // Define column numbers A & B as title columns
    pageSetup.SetPrintTitleColumns(u"$A:$B");

    // Define row numbers 1 & 2 as title rows
    pageSetup.SetPrintTitleRows(u"$1:$2");

    // Save the workbook
    workbook.Save(outputFilePath);

    std::cout << "Print titles set successfully!" << std::endl;

    Aspose::Cells::Cleanup();
    return 0;
}

Diğer Yazdırma Seçeneklerini Belirleme

PageSetup sınıfı ayrıca aşağıdaki gibi genel yazdırma seçeneklerini ayarlamak için birkaç başka özellik sunar:

  • GetPrintGridlines(): bir Boolean özellik olup, ızgaraları yazdırıp yazdırmama durumunu belirler.
  • GetPrintHeadings(): Satır ve sütun başlıklarını yazdırmak veya yazdırmamak konusunda tanımlı olan bir Boolean özelliği.
  • GetBlackAndWhite(): Çalışsayıyı siyah-beyaz moda yazdırmak veya yazdırmamak konusunda tanımlı olan bir Boolean özelliği.
  • GetPrintComments(): Çalışma sayfasındaki yazdırma yorumlarını veya çalışma sayfasının sonunda yer alan yorumları gösterip göstermemeyi tanımlar.
  • GetPrintDraft(): bir boolean özellik olup, sayfayı grafik olmadan yazdırıp yazdırmama durumunu belirler.
  • GetPrintErrors(): hücre hatalarını görüntülenen şekilde, boş, çizgi veya N/A olarak yazdırıp yazdırmayacağını tanımlar.

GetPrintComments() ve GetPrintErrors() özelliklerini ayarlamak için Aspose.Cells ayrıca önceden tanımlı değerlere sahip PrintCommentsType ve PrintErrorsType adında iki enum sağlar; bunlar sırasıyla GetPrintComments() ve GetPrintErrors() özelliklerine atanır.

PrintCommentsType numaralamasındaki önceden tanımlanmış değerler aşağıda açıklamalarıyla listelenmiştir.

Yazdırma Yorumları Türleri Açıklama
PrintInPlace Çalışma sayfasında görüntülenen yorumları yazdırmayı belirtir.
PrintNoComments Yorumları yazdırmamayı belirtir.
PrintSheetEnd Yorumları çalışma sayfasının sonunda yazdırmayı belirtir.

PrintErrorsType numaralamasındaki önceden tanımlanmış değerler aşağıda açıklamalarıyla listelenmiştir.

Yazdırma Hataları Türleri Açıklama
PrintErrorsBlank Hataları yazdırmamayı belirtir.
PrintErrorsDash Hataları “–” olarak yazdırmayı belirtir.
PrintErrorsDisplayed Hataları görüntülendiği gibi yazdırmayı belirtir.
PrintErrorsNA Hataları “#N/A” olarak yazdırmayı belirtir.
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;

int main()
{
    Aspose::Cells::Startup();

    // Source directory path
    U16String srcDir(u"..\\Data\\01_SourceDirectory\\");

    // Output directory path
    U16String outDir(u"..\\Data\\02_OutputDirectory\\");

    // Create a new workbook
    Workbook workbook;

    // Get the first worksheet
    Worksheet worksheet = workbook.GetWorksheets().Get(0);

    // Get the PageSetup object of the worksheet
    PageSetup pageSetup = worksheet.GetPageSetup();

    // Set print options
    pageSetup.SetPrintGridlines(true);  // Allow printing gridlines
    pageSetup.SetPrintHeadings(true);   // Allow printing row/column headings
    pageSetup.SetBlackAndWhite(true);   // Allow printing in black & white mode
    pageSetup.SetPrintComments(PrintCommentsType::PrintInPlace);  // Print comments as displayed
    pageSetup.SetPrintDraft(true);      // Print with draft quality
    pageSetup.SetPrintErrors(PrintErrorsType::PrintErrorsNA);  // Print cell errors as N/A

    // Save the workbook
    U16String outputPath = outDir + u"OtherPrintOptions_out.xls";
    workbook.Save(outputPath);

    std::cout << "Workbook saved with print options successfully!" << std::endl;

    Aspose::Cells::Cleanup();
}

Sayfa Sırasını Belirleme

PageSetup sınıfı, çalışma sayfasının birden fazla sayfasını yazdırmak için kullanılan GetOrder() özelliğini sağlar. Sayfaların sıralaması aşağıdaki gibi iki olasılığı sağlar.

  • Aşağıdan önce ardından: herhangi bir sayfayı sağa yazdırmadan önce tüm sayfaları aşağıya yazdırır.
  • Ardından aşağıdan önce: sayfaları aşağıya yazdırmadan önce soldan sağa doğru sayfaları yazdırır.

Aspose.Cells, tüm önceden tanımlanmış sıralama tiplerini içeren PrintOrderType numaralaması sağlar.

PrintOrderType numaralamasındaki önceden tanımlanmış değerler aşağıda listelenmiştir.

Yazdırma Sıralama Türleri Açıklama
DownThenOver Aşağıdan önce ardından sıralama temsil eder.
OverThenDown Ardından aşağıdan önce sıralama temsil eder.
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;

int main()
{
    Aspose::Cells::Startup();

    // Source directory path
    U16String srcDir(u"..\\Data\\01_SourceDirectory\\");

    // Output directory path
    U16String outDir(u"..\\Data\\02_OutputDirectory\\");

    // Create a new workbook
    Workbook workbook;

    // Obtain the reference of the PageSetup of the first worksheet
    PageSetup pageSetup = workbook.GetWorksheets().Get(0).GetPageSetup();

    // Set the printing order of the pages to over then down
    pageSetup.SetOrder(PrintOrderType::OverThenDown);

    // Save the workbook
    workbook.Save(outDir + u"SetPageOrder_out.xls");

    std::cout << "Page order set successfully!" << std::endl;

    Aspose::Cells::Cleanup();
}