Warnungen für Schriftarten ersetzen beim Rendern von Excel Dateien erhalten
Manchmal ersetzt Aspose.Cells beim Rendern von Microsoft Excel-Dateien in PDF-Schriftarten. Aspose.Cells bietet eine Funktion, die Entwickler darüber informiert, dass eine bestimmte Schriftart durch Auslösen einer Warnung ersetzt wurde. Dies ist eine nützliche Funktion, die Ihnen dabei helfen kann zu erkennen, warum das von Aspose.Cells gerenderte PDF anders ist als die tatsächliche Excel-Datei, und Sie können dann entsprechende Maßnahmen ergreifen. Zum Beispiel können Sie die fehlenden Schriften installieren, damit das Rendernergebnis gleich aussieht.
Wenn Sie die Warnungen für Schriftarten ersetzen möchten, während Sie eine Excel-Datei in PDF rendert, implementieren Sie das Interface IWarningCallback und setzen Sie die Methode PdfSaveOptions.setWarningCallback() mit Ihrem implementierten Interface.
Der untenstehende Screenshot zeigt die verwendete Excel-Quelldatei im folgenden Code. Sie enthält einige Texte in den Zellen A6 und A7 in Schriftarten, die von Microsoft Excel nicht gut wiedergegeben werden.
Aspose.Cells wird die Schriftarten in den Zellen A6 und A7 durch geeignete Schriftarten ersetzen, wie unten gezeigt.
Quelldatei herunterladen und PDF ausgeben
Sie können die Quelldatei und das PDF-Output von den folgenden Links herunterladen
Der folgende Code implementiert das IWarningCallback und setzt die PdfSaveOptions.setWarningCallback()-Methode mit dem implementierten Interface. Nun, wann immer eine Schriftart in einer Zelle ersetzt wird, gibt Aspose.Cells eine Warnung in der WarningCallback.warning() Methode aus.
public class WarningCallback implements IWarningCallback {
@Override
public void warning(WarningInfo info) {
if(info.getWarningType() == WarningType.FONT_SUBSTITUTION)
{
System.out.println("WARNING INFO: " + info.getDescription());
}
}
}
//........
//........
static void Run() throws Exception
{
Workbook workbook = new Workbook("source.xlsx");
PdfSaveOptions options = new PdfSaveOptions();
options.setWarningCallback(new WarningCallback());
workbook.save("output.pdf", options);
}
Warnausgabe
Nach der Konvertierung der Quelldatei werden die folgenden Warnungen in der Debug-Konsole ausgegeben:
WARNING INFO: Font substitution: Font [ Athene Logos; Regular ] has been substituted in Cell [ A6 ] in Sheet [ Sheet1 ].
WARNING INFO: Font substitution: Font [ B Traffic; Regular ] has been substituted in Cell [ A7 ] in Sheet [ Sheet1 ].