Need to set Print Area in the Large Excell File

Hi,
I need to convert file from excel to PDF using Aspose.Cells.
I have a large Excel and I need to convert PDF;

  • A1 to Q120 from worksheet1
  • C3 to W120 from worksheet1
  • A1 to Q120 from worksheet2

Here is my signature;
public static ConvertDocumentResponse excel2pdf(ConvertDocumentRequest request)
Here is my ConvertDocumentRequest ;
private byte[] inputData;
private String username;
private String token;
private List printArea;{ worksheetId, printAreaStart, printAreaEnd;}
private int outputType;
private int savingType;
And my response will be byte[] of PDF file.

And, I use;
Workbook workbook = new Workbook(inStream);
WorksheetCollection worksheets = workbook.getWorksheets();

	for (PrintArea printArea : request.getPrintArea()) {
			Worksheet ws= worksheets.get(printArea.getWorksheetId());
			PageSetup pageSetup = ws.getPageSetup();
			String location = printArea.getPrintAreaStart().concat(":").concat(printArea.getPrintAreaEnd());
			pageSetup.setPrintArea(location);
			pageSetup.setFitToPagesWide(1);
			if(request.getOutputType()==1){
				//workbook.save(outStream, SaveFormat.PDF);
				workbook.save("V:\\Ă–MER\\DocConverter\\deneme\\deneme28.pdf",SaveFormat.PDF);
			}
	}

But It doesnt work.

Can you help me ?

@aomerr28,

Thanks for the sample code segment and details.

I guess the problem might be with your logic/code or input data for different print areas, so you should fix it by yourself on your end. I tested your scenario/case with a simple Excel file (attached) using the following sample code and it works fine. The output PDFs (attached) are correct with relevant data only:
e.g
Sample code:

Workbook workbook = new Workbook("Bk_printareas1.xlsx");
WorksheetCollection worksheets = workbook.getWorksheets();

//A1 to Q120 from worksheet1
Worksheet ws= worksheets.get(0);
PageSetup pageSetup = ws.getPageSetup();
pageSetup.setPrintArea("A1:Q120");
pageSetup.setFitToPagesWide(1);
//Invisible the second sheet.
worksheets.get(1).setVisible(false); 
workbook.save("out1.pdf");


//C3 to W120 from worksheet1
pageSetup.setPrintArea("C3:W120");
pageSetup.setFitToPagesWide(1);
workbook.save("out2.pdf");


//A1 to Q120 from worksheet2
worksheets.get(1).setVisible(true); 
Worksheet ws1= worksheets.get(1);
PageSetup pageSetup1 = ws1.getPageSetup();
pageSetup1.setPrintArea("A1:Q120");
pageSetup1.setFitToPagesWide(1);
//Invisible first sheet.
worksheets.get(0).setVisible(false); 
workbook.save("out3.pdf");

Hope, this helps a bit.
file1.zip (14.6 KB)
out1.pdf (65.8 KB)
out2.pdf (76.3 KB)
out3.pdf (66.0 KB)