Erhalten Sie Warnungen für die Schriftartersetzung beim Rendern von Excel-Dateien
Manchmal werden beim Rendern von Microsoft-Excel-Dateien in PDF Schriftarten durch Aspose.Cells ersetzt. Aspose.Cells bietet eine Funktion, die Entwickler durch das Auslösen einer Warnung darüber informiert, dass eine bestimmte Schriftart ersetzt wurde. Dies ist eine nützliche Funktion, mit der Sie feststellen können, warum Aspose.Cells als PDF gerendert wird und sich von der eigentlichen Excel-Datei unterscheidet, und Sie können dann entsprechende Maßnahmen ergreifen. Beispielsweise können Sie die fehlenden Schriftarten installieren, damit die Rendering-Ergebnisse gleich aussehen.
Wenn Sie beim Rendern einer Excel-Datei in PDF die Warnungen für die Schriftartersetzung erhalten möchten, implementieren Sie die Schnittstelle IWarningCallback und legen Sie die Methode PdfSaveOptions.setWarningCallback() mit Ihrer implementierten Schnittstelle fest.
Der folgende Screenshot zeigt die Excel-Quelldatei, die im folgenden Code verwendet wird. Es enthält Text in den Zellen A6 und A7 in Schriftarten, die von Microsoft Excel nicht gut wiedergegeben werden.
Aspose.Cells ersetzt die Schriftarten in den Zellen A6 und A7 durch geeignete Schriftarten, wie unten gezeigt.
Quelldatei herunterladen und PDF ausgeben
Sie können die Excel-Quelldatei und die Ausgabe PDF über die folgenden Links herunterladen
Der folgende Code implementiert dieIWarnungRückruf und setze diePdfSaveOptions.setWarningCallback() Methode mit der implementierten Schnittstelle. Wenn jetzt eine Schriftart in einer Zelle ersetzt wird, löst Aspose.Cells eine Warnung innerhalb der Methode WarningCallback.warning() 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);
}
Ausgabe von Warnungen
Nach der Konvertierung der Quelldatei werden folgende Warnungen an 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 ].