Converteer Excel-spreadsheet naar PDF in Java

Wanneer we de gegevens willen delen in werkbladen die niet hoeven te worden bewerkt, converteren we dergelijke Excel-werkmappen of specifieke bladen vaak naar PDF-indeling. In dit artikel leren we 4 verschillende manieren om Excel-spreadsheets te converteren naar PDF-indeling in Java met behulp van de documentconversie-API.

Elke conversiebenadering kan worden toegepast met een kleine wijziging in de code tijdens het laden van de spreadsheets of met enkele aanpassingen in de conversie-opties van het PDF-formaat. Enkele van de mogelijke manieren om de spreadsheets in het artikel te converteren zijn als volgt.

Java API voor het converteren van Excel-bestanden naar PDF

GroupDocs.Conversion biedt Java API waarmee de vele Excel-bestandsindelingen, waaronder XLS en XLSX, kunnen worden geconverteerd naar PDF-indeling. In dit artikel gebruiken we de GroupDocs.Conversion for Java. Naast spreadsheets ondersteunt de API de conversie van tekstverwerkingsdocumenten, presentaties, eBooks, afbeeldingen, enz. die worden genoemd in de documentatie.

U kunt het JAR-bestand downloaden van de downloadsectie of de nieuwste repository- en afhankelijkheidsconfiguraties Maven gebruiken binnen uw Java-applicaties.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-conversion</artifactId>
        <version>21.10</version> 
</dependency>

Converteer alle bladen met Excel-bestanden naar PDF - Java

De eenvoudigste manier is om alle bladen naar PDF-formaat te converteren. De volgende stappen converteren de volledige werkmap (alle bladen) naar PDF-indeling in Java.

Hieronder volgen de 2 regels Java-broncode die de volledige Excel-werkmap naar PDF converteren.

/*
 * Converteer alle Excel-bladen naar PDF-indeling in Java
 */
Converter converter = new Converter("path/spreadsheet.xlsx");
converter.convert("path/all-sheets-converted.pdf", new PdfConvertOptions());
Converteer PDF van Excel-gegevens

Opeenvolgende conversie van Excel-bladen naar PDF - Java

Als u geïnteresseerd bent in het achtereenvolgens extraheren van de subset van spreadsheets, kunt u dit eenvoudig doen door het beginbladnummer en het aantal opeenvolgende bladen op te geven. Hieronder volgen de stappen om een subreeks van de Excel-werkmapbladen naar PDF-indeling in Java te converteren.

  • Laad de spreadsheet met behulp van de Converter.
  • Definieer de PDF-conversie-opties met behulp van PdfConvertOptions.
  • Stel het beginbladnummer en het aantal volgende bladen in.
  • Converteer de geselecteerde bladen naar PDF volgens de instellingen met de methode convert().

Het volgende is het Java-codefragment dat de eerste twee bladen naar PDF converteert. (Bladnummers 1 en 2)

/*
 * Converteer een reeks Excel-bladen naar PDF-indeling in Java
 */
Converter converter = new Converter("path/spreadsheet.xlsx");

PdfConvertOptions convertOptions = new PdfConvertOptions();
convertOptions.setPageNumber(1);
convertOptions.setPagesCount(2);

converter.convert("path/sequential-conversion.pdf", convertOptions);

Specifieke Excel-bladen naar PDF-conversie - Java

Als u overweegt willekeurige bladen te converteren (zoals bladnummers 1, 2, 4, 7, …), kunt u tijdens het converteren eenvoudig de exacte bladnummers als een lijst opgeven. Hieronder volgen de stappen voor het converteren van een specifieke lijst met bladnummers naar PDF-indeling in Java.

  • Laad het Excel-bestand met behulp van de Converter.
  • Geef de exacte bladnummers als een lijst met behulp van PdfConvertOptions.
  • Converteer de vermelde bladen naar PDF-indeling met behulp van de methode convert().

Het volgende codefragment converteert de bladnummers 1 en 3 naar PDF-indeling.

/*
 * Converteer de opgegeven lijst met Excel-bladen naar PDF-indeling in Java
 */
Converter converter = new Converter("path/spreadsheet.xlsx");

PdfConvertOptions convertOptions = new PdfConvertOptions();
convertOptions.setPages(Arrays.asList(1,3));

converter.convert("path/specific-sheets-conversion.pdf", convertOptions);

Converteer het celbereik van Excel-blad naar PDF - Java

Hier is de ongebruikelijke manier om elk segment van de spreadsheet(s) te converteren. We kunnen elk celbereik van Excel-blad(len) op bijna dezelfde manier converteren als andere hierboven besproken benaderingen. Hieronder volgen de stappen voor het converteren van het celbereik van werkmapbladen naar PDF-indeling in Java.

  • Definieer het celbereik van de werkbladen.
  • Laad het spreadsheetbestand.
  • Selecteer de bladen door het opeenvolgende bladenbereik of de exacte bladnummers op te geven.
  • Converteer de bladen naar PDF-formaat volgens de instellingen.

De volgende code converteert het celbereik (A1:C20) van bladnummer 1 naar PDF-indeling in Java.

/*
 * Converteer het opgegeven celbereik van opgegeven Excel-bladen naar PDF-indeling in Java
 */
// Bereid laadopties en bereik voor het XLSX-bronbestand voor
SpreadsheetLoadOptions loadOptions = new SpreadsheetLoadOptions();
loadOptions.setConvertRange("A1:C20");
Converter converter = new Converter("path/spreadsheet.xlsx", loadOptions);

PdfConvertOptions convertOptions = new PdfConvertOptions();
convertOptions.setPageNumber(1);
convertOptions.setPagesCount(1);

converter.convert("path/convert-cell-range.pdf", convertOptions);

Ontvang een gratis API-licentie

U kunt een gratis tijdelijke licentie krijgen om de API te gebruiken zonder de evaluatiebeperkingen.

Conclusie

Laten we samenvatten wat we vandaag hebben geleerd. We leerden vier verschillende manieren voor het converteren van Excel-spreadsheets naar PDF-indeling in Java met behulp van GroupDocs.Conversion. In eerste instantie hebben we de volledige werkmap geconverteerd naar PDF-formaat, daarna de opeenvolgende bladen. Vervolgens werden meerdere bladen gewijzigd in PDF door hun exacte bladnummers op te geven. Ten slotte hebben we het PDF-bestand verkregen uit het geselecteerde celbereik van de geselecteerde bladen.

Lees meer over GroupDocs.Conversion API’s in de documentatie. Neem voor vragen contact met ons op via het forum.

Zie ook