// For complete examples and data files, please go to https://github.com/groupdocs-viewer/GroupDocs.Viewer-for-Java
package com.groupdocs.ui;
import com.groupdocs.viewer.config.ViewerConfig;
import com.groupdocs.viewer.converter.options.HtmlOptions;
import com.groupdocs.viewer.domain.html.PageHtml;
import com.groupdocs.viewer.handler.ViewerHtmlHandler;
import com.groupdocs.viewer.licensing.License;
import java.nio.file.FileSystems;
import java.nio.file.Files;
import java.util.List;
public class Document {
ViewerHtmlHandler viewerHtmlHandler;
private String filename;
private int pageNumber;
public Document() {
License license = new License();
if (Files.isReadable(FileSystems.getDefault().getPath(Utils.getProjectProperty("license.path")))) {
license.setLicense(Utils.getProjectProperty("license.path"));
if (!License.isValidLicense()) {
throw new RuntimeException("License is not valid");
}
}
ViewerConfig config = new ViewerConfig();
config.setStoragePath(Utils.getProjectProperty("storage.path"));
this.viewerHtmlHandler = new ViewerHtmlHandler(config);
}
public int getPageCount() {
List<PageHtml> pages;
try {
pages = viewerHtmlHandler.getPages(filename);
} catch (Exception x) {
throw new RuntimeException(x);
}
return pages.size();
}
public String getHtmlContent() {
HtmlOptions options = new HtmlOptions();
options.setResourcesEmbedded(true);
options.setPageNumber(this.pageNumber);
List<PageHtml> pages;
try {
pages = this.viewerHtmlHandler.getPages(this.filename, options);
} catch (Exception x) {
throw new RuntimeException(x);
}
for (PageHtml html : pages) {
if (this.pageNumber == html.getPageNumber()) {
return html.getHtmlContent();
}
}
return "No content";
}
public String getFilename() {
return filename;
}
public void setFilename(String filename) {
this.filename = filename;
}
public int getPageNumber() {
return pageNumber;
}
public void setPageNumber(int pageNumber) {
this.pageNumber = pageNumber;
}
}