Very simple code:
package de.xm.simplegroupdocs;
import com.groupdocs.viewer.config.ViewerConfig;
import com.groupdocs.viewer.domain.containers.FileContainer;
import com.groupdocs.viewer.domain.options.PdfFileOptions;
import com.groupdocs.viewer.handler.ViewerHtmlHandler;
import com.groupdocs.viewer.licensing.License;
import com.groupdocs.viewer.utils.CultureInfo;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
public class SimpleGroupDocsTest {
public static void main(String[] args) {
System.out.println(“SimpleGroupDocs started :)”);
SimpleGroupDocsTest simpleGroupDocs = new SimpleGroupDocsTest();
simpleGroupDocs.setLicense();
simpleGroupDocs.convertToPdf();
}
private void convertToPdf() {
try {
File sourceFile = new File("./FilesSource/MARBIBM.TIF");
System.out.println("sourceFile: " + sourceFile);
System.out.println("sourceFile readable: " + sourceFile.canRead());
ViewerConfig config = new ViewerConfig();
File localizedStringsFile = new File("./FilesGroupDocs/LocalizedStrings-ru-RU.xml");
System.out.println(“localizedStringsFile: " + sourceFile);
System.out.println(“localizedStringsFile readable: " + sourceFile.canRead());
System.out.println(“localizedStringsFile length: " + localizedStringsFile.length());
config.setLocalesPath(”./FilesGroupDocs/LocalizedStrings-ru-RU.xml”);
config.setStoragePath(”./FilesSource");
CultureInfo cultureInfo = new CultureInfo(“ru-RU”);
System.out.println("\ncultureInfo: " + cultureInfo);
ViewerHtmlHandler htmlHandler = new ViewerHtmlHandler(config, cultureInfo);
PdfFileOptions pdfFileOptions = new PdfFileOptions();
FileContainer container = null;
InputStream inputStream = new FileInputStream(sourceFile);
container = htmlHandler.getPdfFile(inputStream, sourceFile.getName(), pdfFileOptions);
System.out.println("container.getStream().available()): " + container.getStream().available());
Files.copy(container.getStream(), Paths.get("./FilesConverted", “ConvertedFile.pdf”), StandardCopyOption.REPLACE_EXISTING);
File resultFile = new File(Paths.get("./FilesConverted", “ConvertedFile.pdf”).toString());
System.out.println("resultFile: " + resultFile);
System.out.println("resultFile readable: " + resultFile.canRead());
System.out.println("resultFile length: " + resultFile.length());
} catch (Exception e) {
System.out.println("Error: " + e.getMessage() + ", cause: " + e.getCause());
}
}
private void setLicense() {
try {
String licenseFilePath = “./FilesGroupDocs/GroupDocs.Viewer.lic”;
License license = new License();
license.setLicense(licenseFilePath);
} catch (Throwable throwable) {
System.out.println(“Can not verify Viewer license!”);
}
}
}
It works with locale en-US:
SimpleGroupDocs started
sourceFile: ./FilesSource/MARBIBM.TIF
sourceFile readable: true
localizedStringsFile: ./FilesSource/MARBIBM.TIF
localizedStringsFile readable: true
localizedStringsFile length: 1171
cultureInfo: ru-RU
container.getStream().available()): 319843
resultFile: ./FilesConverted/ConvertedFile.pdf
resultFile readable: true
resultFile length: 319843
If we change locale to en-DE:
SimpleGroupDocs started
sourceFile: ./FilesSource/MARBIBM.TIF
sourceFile readable: true
localizedStringsFile: ./FilesSource/MARBIBM.TIF
localizedStringsFile readable: true
localizedStringsFile length: 1171
cultureInfo: ru-RU
Error: Culture Name: en-DE is not a supported culture, cause: null
Process finished with exit code 0
What is wrong in code?