We have purchased the Aspose Total Product Family for Java but the Aspose Slides Total Product Family License fails to eliminate the Evaluation Watermark when we generate a PDF.
We declare the absolute path to the License file on the server and we create a com.aspose.slides.License object and initialize it by passing an InputStream for the License file.
We use the same license and the same process for the other Aspose components (e.g. Word, Cells, PDF, SharePoint, etc.) and they all work generating a final product without the obnoxious evaluation watermark.
What do we need to do differently to make Slides work? Searching the Aspose forums indicates this is a recurring problem which should have been resolved in an earlier version.
Would appreciate any assistance.
Thanks.
Ed
Hi Ed,
Here is just a snippet of my class file…
package testaspose;
import com.aspose.slides.;
import java.io.;
public class AsposeSlideTest {
private final String LICENSE_PATH = “D:/some path/Aspose//Licenses/”;
private final String LICENSE_NAME = “Aspose.Total.Product.Family.lic”;
protected String dataDir = “D:/temp/”;
protected boolean useDefaultOptions = false;
public AsposeSlideTest() { super(); }
public Boolean convertPowerpoint2PDF(String filename, String dataDir) {
Boolean converted = false;
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
try {
FileInputStream fstream = null;
try {
fstream = new FileInputStream(LICENSE_PATH+LICENSE_NAME);
com.aspose.slides.License license = new com.aspose.slides.License();
license.setLicense(fstream);
}
catch (Exception e) { ; }
finally {
if (fstream != null) fstream.close();
}
}
catch (IOException ioe) {
ioe.printStackTrace(System.out);
}
String newFile = filename.substring(0, filename.lastIndexOf(".")) + “.pdf”;
Presentation presentation = null;
try {
try {
presentation = new Presentation(dataDir + filename);
PdfOptions options = new PdfOptions();
options.setJpegQuality((byte) 90);
options.setSaveMetafilesAsPng(true);
options.setTextCompression(PdfTextCompression.Flate);
options.setCompliance(PdfCompliance.Pdf15);
if (useDefaultOptions) {
presentation.save(dataDir + newFile, SaveFormat.Pdf);
}
else {
presentation.save(dataDir + newFile, SaveFormat.Pdf, options);
}
converted = true;
}
catch (OutOfMemoryError err) {
if (presentation != null) presentation.dispose();
converted = false;
}
}
catch (Exception e) {
if (presentation != null) presentation.dispose();
converted = false;
}
finally {
if (presentation != null) presentation.dispose();
}
return converted;
}
}
I will be sending my License file, as requested, immediately following this post.
Thank you.
Ed
As requested, I have sent our License file to Mudassir and am notifying Aspose via this forum.
Thanks.
Ed
Hi Ed,
Mudassir,
Thank you for the suggestion. Unfortunately, the method you suggest “License.getLicenced()” is not part of the com.aspose.slides.License library. In fact, I could not find reference to this method in the com.aspose.cells or com.aspose.words libraries either. Perhaps that is a deprecated method, a future version, an administrative or development library unavailable to the public, or one of the other API License object methods? We are using Slides 14.8.0, Words 14.10.0, Cells 8.3.0, and PDF 9.5.2 while our Total Product Family License version is 14.7.0.0.
After setting the appropriate License object, to validate the License object of a “Slides” object, you can only use the License.getVersion() which returns a String representing the current version of the Slides library. I was surprised to learn that the methods used to validate/verify the License object of Slides, Words, and Cells objects are inconsistent. There are no methods to verify a Words object. To verify a Cells object, you use License.isLicenseSet() which returns a Boolean. I would have expected the License object would be consistent across each Aspose API.
Anyhow, I was able to convert a PowerPoint file to PDF without the obnoxious evaluation watermark. Apparently, I had an issue with my “global” License object declaration and once corrected it worked fine.
Thanks.
Ed
Hi ED,
com.aspose.slides.License lic=new com.aspose.slides.License();lic.setLicense(path+“Aspose.Total.Product.Family.lic”);boolean licenced= lic.isLicensed();
Mudassir,
I tried using your suggestion, but once again you reference a method not available via the com.aspose.slides.License object (e.g. lic.isLicensed()). Are you able to actually compile your suggestion? I’m also disappointed in Aspose’s online Java documentation. The only references I find for the com.aspose.slides.License object are:
License() – constructor
setLicense(String LicenseName)
Through my Java IDE (Oracle JDeveloper 11g), I can see the following available methods, once a License object is instantiated are:
license.clone() returns Object
license.equalsObject() returns boolean
license.finalize() returns void
license.getClass() returns Class
license.getVersion() returns String
license.hashCode() returns int
license.notify() returns void
license.notifyAll() returns void
license.setLicense(InputStream) returns void
license.setLicense(String) returns void
license.toString() returns String
license.wait(long) returns void
license.wait(long, int) returns void
license.wait() returns void
Here is the code I am using to validate my com.aspose.slides.License object has been loaded with a valid license:
final String LICENSE_PATH = “C:/absolute path/”;
final String LICENSE_NAME = “Aspose.Total.Product.Family.lic”;
com.aspose.slides.License license = new com.aspose.slides.License();
FileInputStream fstream = new FileInputStream(LICENSE_PATH, LICENSE_NAME);
license.setLicense(fstream);
//alternative method to set License object
// license.setLicense(LICENSE_PATH + LICENSE_NAME);
// to verify License loaded and assume valid if result returned is not null
String licenseVersion = license.getVersion();
System.out.println("License Version = " + licenseVersion);
result:
License Version = 14.7.0.0
Therefore, I assume the License has been loaded and the License is valid.
Thanks.
Ed
Hi Ed,