We are excited to announce the release of Spire.Doc for Java 12.3.1. This version adds multiple new features, such as determining whether a digital signature exists for a document and setting field properties when updating a field. Besides, it also optimizes the file size of the resulting document of Word to OFD conversion. More details are listed below.
Here is a list of changes made in this release
Category | ID | Description |
Improvement | SPIREDOC-10325 | Optimizes the file size of the resulting document of Word to OFD conversion. |
New feature | - | Adds the setImageLink() in MergeImageFieldEventArgs event to support adding hyperlinks to the mail merge images.
Document document = new Document(); document.loadFromFile(inputFile); String[] fieldNames = new String[]{"ImageFile"}; String[] fieldValues = new String[]{inputFile_img}; document.getMailMerge().MergeImageField = new MergeImageFieldEventHandler() { @Override public void invoke(Object sender, MergeImageFieldEventArgs args) { mailMerge_MergeImageField(sender, args); } }; document.getMailMerge().execute(fieldNames, fieldValues); document.saveToFile(outputFile, FileFormat.Docx); private static void mailMerge_MergeImageField(Object sender, MergeImageFieldEventArgs field) { String filePath = field.getImageFileName(); if (filePath != null && !"".equals(filePath)) { try { field.setImage(filePath); field.setImageLink("https://www.baidu.com/"); } catch (Exception e) { e.printStackTrace(); } } |
New feature | SPIREDOC-9369 | Adds the getFieldOptions() method to support setting field properties when updating a field.
document.getFieldOptions().setCultureSource(FieldCultureSource.CurrentThread); |
New feature | - | Adds the hasDigitalSignature() method to support determining whether a document has a digital signature.
Document.hasDigitalSignature("filepath"); |
New feature | SPIREDOC-9455 | Adds the integrateFontTableTo method to support copying Fonttable data from source document to target document.
sourceDoc.integrateFontTableTo(Document destDoc); |
New feature | SPIREDOC-9869 | Adds the HtmlUrlLoadEvent event to support the control of loading URLs in the file when loading HTML files.
public static void main(String[] args) { Document document = new Document(); document.HtmlUrlLoadEvent = new MyDownloadEvent(); document.loadFromFile(inputFile, FileFormat.Html, XHTMLValidationType.None); document.saveToFile(outputFile, FileFormat.PDF); } static class MyDownloadEvent extends HtmlUrlLoadHandler { @Override public void invoke(Object o, HtmlUrlLoadEventArgs htmlUrlLoadEventArgs) { try { byte[] bytes = downloadBytesFromURL(htmlUrlLoadEventArgs.getUrl()); htmlUrlLoadEventArgs.setDataBytes(bytes); } catch (Exception e) { e.printStackTrace(); } } } public static byte[] downloadBytesFromURL(String urlString) throws Exception { URL url = new URL(urlString); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); connection.setConnectTimeout(5000); connection.setReadTimeout(5000); int responseCode = connection.getResponseCode(); if (responseCode == HttpURLConnection.HTTP_OK) { InputStream inputStream = connection.getInputStream(); ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; int bytesRead; while ((bytesRead = inputStream.read(buffer)) != -1) { outputStream.write(buffer, 0, bytesRead); } outputStream.close(); return outputStream.toByteArray(); } else { throw new Exception("Failed to download content. Response code: " + responseCode); } } |
New feature | - | Adds the setCustomFonts(InputStream[] fontStreamList) method to support setting custom fonts by stream.
document.setCustomFonts(InputStream[] fontStreamList); |
New feature | - | Replaces the clearCustomFontsFolders() method with the new clearCustomFonts() method.
document.clearCustomFonts(); |
New feature | - | Replaces the setGlobalCustomFontsFolders(InputStream[] fontStreamList) method with the new setGlobalCustomFonts(InputStream[] fontStreamList) method.
Document.setGlobalCustomFonts(InputStream[] fontStreamList); |
New feature | - | Replaces the clearGlobalCustomFontsFolders() method with the new clearGlobalCustomFonts() method.
Document.clearGlobalCustomFonts(); |
Click the link below to download Spire.Doc for Java 12.3.1: