Aspose.CAD for Java 20.3 - Release Notes

Key Summary Category
CADJAVA-669 Support for DWFX files New Feature
CADJAVA-659 How to interrupt or put a timeout on Save New Feature
CADJAVA-345 Support for DXF Version New Feature
CADJAVA-661 Prepare SEO-friendly endpoints and provide usage examples on Cloud API Enhancement
CADJAVA-650 Integrate the latest Imaging module changes Enhancement
CADJAVA-638 Investigate and improve the coloring of separate and blocked entities Enhancement
CADJAVA-634 The API documentation is not available Enhancement
CADJAVA-526 Aspose.CAD maven repo unusable for versions newer than 18.3 Enhancement
CADJAVA-670 Low quality of PDF files generated by GDI PDF exporter Enhancement
CADJAVA-667 Wrong drawing of CadGraphicsDataContainer entities. Enhancement
CADJAVA-666 DWG to PNG not properly converted Enhancement
CADJAVA-665 Length cannot be less than zero exception on exporting DWG Enhancement
CADJAVA-664 The file is incompatible with exporter exception on exporting DWG Enhancement
CADJAVA-663 Cannot process loading further due to incorrect file format structure exception on loading DWG Enhancement
CADJAVA-657 Image saving failed exception when saving DWG Enhancement
CADJAVA-656 Blank image when saving DWG Enhancement
CADJAVA-655 Image export failed on saving DWF Enhancement
CADJAVA-653 Exception on converting DWG file to JPG Enhancement
CADJAVA-651 DWG to PDF conversion took a long time Enhancement
CADJAVA-643 On conversion to PDF vertical text has been rendered as horizontal Enhancement
CADJAVA-642 Fix damaged export of layouts for DXF R12 Enhancement
CADJAVA-639 Aspose.CAD 19.9: Converting particular DWG to PDF produce too small and unreadable graphic Enhancement
CADJAVA-618 Cannot process loading further due to incorrect file format structure. Enhancement
CADJAVA-575 DWG not properly converted to PDF Enhancement
CADJAVA-573 DWG not properly converted to PDF Enhancement
CADJAVA-563 Conversion to PDF lasts for too long and one CPU core is completely used Enhancement
CADJAVA-560 Exception on exporting DWG to PDF Enhancement
CADJAVA-559 Infinite loop when converting DWG to PDF Enhancement
CADJAVA-511 Exception on converting DXF file to PDF Enhancement
CADJAVA-501 DWG not properly converted to PDF Enhancement
CADJAVA-668 Support For Recent version of Autocad Enhancement
CADJAVA-358 Image load exception on loading DWF file Enhancement
CADJAVA-660 Implement automatic codepage detection for DWG and DXF Enhancement
CADJAVA-640 DWG to PDF: The text is not getting bolder in PDF Enhancement
CADJAVA-582 Specifying page size for CadRasterizationOptions to export to PDF Enhancement
CADJAVA-581 Wrong UnitType on converting DXF to PDF Enhancement
CADJAVA-641 Implement multiple sorting for ReleaseListCreator Enhancement
CADJAVA-658 Security review for Aspose.CAD Enhancement
CADJAVA-654 Get CF2 layers Enhancement
CADJAVA-652 Push drawing down to add a heading Enhancement
CADJAVA-528 Text missing in generated PDF Enhancement
CADJAVA-500 Does Aspose.CAD supports ECDSA and RSA algorithms for digital signature Enhancement
CADJAVA-465 Is Aspose.CAD FIPS 186-4 compliant Enhancement

Added APIs:

Class         com.aspose.cad.fileFormats.dgn.dgnElements.dgnDrawingElementBaseQuaternion Class         com.aspose.cad.fileFormats.dwf.whip.dwfWhipImageFormat Class         com.aspose.cad.fileFormats.dwf.whip.objects.drawable.dwfWhipImage Class         com.aspose.cad.fileFormats.dwf.whip.objects.drawable.dwfWhipImageBase Class         com.aspose.cad.imageOptions.margins Class         com.aspose.cad.interruptionToken Class         com.aspose.cad.interruptionTokenSource Field/Enum    com.aspose.cad.fileFormats.dwf.whip.dwfWhipImageFormat.bitonalMapped Field/Enum    com.aspose.cad.fileFormats.dwf.whip.dwfWhipImageFormat.group3XMapped Field/Enum    com.aspose.cad.fileFormats.dwf.whip.dwfWhipImageFormat.indexed Field/Enum    com.aspose.cad.fileFormats.dwf.whip.dwfWhipImageFormat.jPEG Field/Enum    com.aspose.cad.fileFormats.dwf.whip.dwfWhipImageFormat.mapped Field/Enum    com.aspose.cad.fileFormats.dwf.whip.dwfWhipImageFormat.rGB Field/Enum    com.aspose.cad.fileFormats.dwf.whip.dwfWhipImageFormat.rGBA Method        com.aspose.cad.cmykColor.equals(System.object) Method        com.aspose.cad.fileFormats.cad.cadLayersList.getLayer(System.string) Method        com.aspose.cad.fileFormats.cad.dwg.lZ77StreamWriter.compressBytes Method        com.aspose.cad.fileFormats.dgn.dgnElements.dgnDrawingElementBaseQuaternion.#ctor Method        com.aspose.cad.fileFormats.dgn.dgnElements.dgnDrawingElementBaseQuaternion.initQuaternion(System.byte[],System.int32) Method        com.aspose.cad.fileFormats.dwf.whip.objects.drawable.dwfWhipImage.#ctor(System.int32) Method        com.aspose.cad.fileFormats.dwf.whip.objects.drawable.dwfWhipImage.checkFormat(System.int32) Method        com.aspose.cad.fileFormats.dwf.whip.objects.drawable.dwfWhipImageBase.#ctor(System.int32) Method        com.aspose.cad.fileFormats.dwf.whip.objects.drawable.dwfWhipImageBase.checkFormat(System.int32) Method        com.aspose.cad.fileFormats.dwf.whip.objects.drawable.dwfWhipPNGGroup4Image.checkFormat(System.int32) Method        com.aspose.cad.imageOptions.margins.#ctor Method        com.aspose.cad.interruptionTokenSource.#ctor Method        com.aspose.cad.interruptionTokenSource.dispose Method        com.aspose.cad.interruptionTokenSource.interrupt Method        com.aspose.cad.point.op_Explicit(com.aspose.cad.point)    Method        com.aspose.cad.pointF.op_Explicit(com.aspose.cad.pointF)    Method        com.aspose.cad.xmp.xmpPackage.setValue(System.string   ) Property      com.aspose.cad.fileFormats.cad.cadObjects.cadMText.fullClearText Property      com.aspose.cad.fileFormats.dgn.dgnElements.dgnDrawingElementBaseQuaternion.quaternionRotations Property      com.aspose.cad.fileFormats.dwf.whip.objects.drawable.dwfWhipImageBase.binaryData Property      com.aspose.cad.fileFormats.dwf.whip.objects.drawable.dwfWhipImageBase.columns Property      com.aspose.cad.fileFormats.dwf.whip.objects.drawable.dwfWhipImageBase.maxCorner Property      com.aspose.cad.fileFormats.dwf.whip.objects.drawable.dwfWhipImageBase.maxPoint Property      com.aspose.cad.fileFormats.dwf.whip.objects.drawable.dwfWhipImageBase.minCorner Property      com.aspose.cad.fileFormats.dwf.whip.objects.drawable.dwfWhipImageBase.minPoint Property      com.aspose.cad.fileFormats.dwf.whip.objects.drawable.dwfWhipImageBase.rows Property      com.aspose.cad.imageOptions.cadRasterizationOptions.exportAllLayoutContent Property      com.aspose.cad.imageOptions.margins.bottom Property      com.aspose.cad.imageOptions.margins.left Property      com.aspose.cad.imageOptions.margins.right Property      com.aspose.cad.imageOptions.margins.top Property      com.aspose.cad.imageOptions.pdfDocumentOptions.digitalSignatureDetails Property      com.aspose.cad.imageOptions.rasterizationQuality.textThicknessNormalization Property      com.aspose.cad.imageOptions.vectorRasterizationOptions.margins Property      com.aspose.cad.imageOptionsBase.interruptionToken Property      com.aspose.cad.imageOptionsBase.timeout Property      com.aspose.cad.interruptionTokenSource.token Property      com.aspose.cad.xmp.types.derived.renditionClass.definedValues

Removed APIs:

Class         com.aspose.cad.extensions.colorExtensions Class         com.aspose.cad.extensions.fontExtensions Class         com.aspose.cad.extensions.imageExtensions Class         com.aspose.cad.extensions.matrixExtensions Class         com.aspose.cad.extensions.pointExtensions Class         com.aspose.cad.extensions.rectangleExtensions Class         com.aspose.cad.extensions.rotateFlipExtensions Class         com.aspose.cad.extensions.stringFormatExtensions Class         com.aspose.cad.font Class         com.aspose.cad.stringFormat Field/Enum    com.aspose.cad.xmp.types.derived.renditionClass.definedValues Method        com.aspose.cad.extensions.colorExtensions.toGdiColor(com.aspose.cad.color) Method        com.aspose.cad.extensions.colorExtensions.toGdiColors(com.aspose.cad.color[]) Method        com.aspose.cad.extensions.fontExtensions.toGdiFont(com.aspose.cad.font) Method        com.aspose.cad.extensions.imageExtensions.toGdiImage(com.aspose.cad.image) Method        com.aspose.cad.extensions.matrixExtensions.toGdiMatrix(com.aspose.cad.matrix) Method        com.aspose.cad.extensions.pointExtensions.toGdiPoint(com.aspose.cad.pointF) Method        com.aspose.cad.extensions.pointExtensions.toGdiPoints(com.aspose.cad.pointF[]) Method        com.aspose.cad.extensions.pointExtensions.toPointsArray(com.aspose.cad.point[]) Method        com.aspose.cad.extensions.rectangleExtensions.toGdiRectangle(com.aspose.cad.rectangle) Method        com.aspose.cad.extensions.rectangleExtensions.toGdiRectangle(com.aspose.cad.rectangleF) Method        com.aspose.cad.extensions.rotateFlipExtensions.toGdiRotateFlipType(com.aspose.cad.rotateFlipType) Method        com.aspose.cad.extensions.stringFormatExtensions.toGdiStringFormat(com.aspose.cad.stringFormat) Method        com.aspose.cad.fileFormats.cad.cadLayersList.getLayersByName(System.string) Method        com.aspose.cad.fileFormats.cad.cadObjects.cadApplicationCodesContainer.getAcadReactorsCodes Method        com.aspose.cad.fileFormats.cad.cadObjects.cadApplicationCodesContainer.getAcadXDictionaryCodes Method        com.aspose.cad.fileFormats.cad.dwg.lZ77StreamWriter.foundLiteral Method        com.aspose.cad.fileFormats.dgn.dgnElements.dgnArcBasedElement.initQuaternion(System.byte[],System.int32) Method        com.aspose.cad.fileFormats.tiff.tiffRational.op_Equality(com.aspose.cad.fileFormats.tiff.tiffRational,com.aspose.cad.fileFormats.tiff.tiffRational) Method        com.aspose.cad.fileFormats.tiff.tiffRational.op_Inequality(com.aspose.cad.fileFormats.tiff.tiffRational,com.aspose.cad.fileFormats.tiff.tiffRational) Method        com.aspose.cad.fileFormats.tiff.tiffSRational.op_Equality(com.aspose.cad.fileFormats.tiff.tiffSRational,com.aspose.cad.fileFormats.tiff.tiffSRational) Method        com.aspose.cad.fileFormats.tiff.tiffSRational.op_Inequality(com.aspose.cad.fileFormats.tiff.tiffSRational,com.aspose.cad.fileFormats.tiff.tiffSRational) Method        com.aspose.cad.font.#ctor(com.aspose.cad.font,com.aspose.cad.fontStyle) Method        com.aspose.cad.font.#ctor(System.string,System.single) Method        com.aspose.cad.font.#ctor(System.string,System.single,com.aspose.cad.fontStyle) Method        com.aspose.cad.font.#ctor(System.string,System.single,com.aspose.cad.fontStyle,com.aspose.cad.graphicsUnit) Method        com.aspose.cad.font.#ctor(System.string,System.single,com.aspose.cad.fontStyle,com.aspose.cad.graphicsUnit,com.aspose.cad.characterSet) Method        com.aspose.cad.font.#ctor(System.string,System.single,com.aspose.cad.graphicsUnit) Method        com.aspose.cad.font.deepClone Method        com.aspose.cad.font.equals(System.object) Method        com.aspose.cad.font.getHashCode Method        com.aspose.cad.font.toString Method        com.aspose.cad.point.op_Explicit(com.aspose.cad.point)    Method        com.aspose.cad.pointF.op_Explicit(com.aspose.cad.pointF)    Method        com.aspose.cad.stringFormat.#ctor Method        com.aspose.cad.stringFormat.#ctor(com.aspose.cad.stringFormat) Method        com.aspose.cad.stringFormat.#ctor(com.aspose.cad.stringFormatFlags) Method        com.aspose.cad.stringFormat.deepClone Method        com.aspose.cad.stringFormat.setTabStops(System.single,System.single[]) Method        com.aspose.cad.stringFormat.toString Method        com.aspose.cad.xmp.xmpPackage.setValue(System.string,   ) Property      com.aspose.cad.fileFormats.dgn.dgnElements.dgnArcBasedElement.quaternionRotations Property      com.aspose.cad.fileFormats.dgn.dgnElements.dgnConeElement.quaternionRotations Property      com.aspose.cad.fileFormats.dgn.dgnElements.dgnTextElement.quaternionRotations Property      com.aspose.cad.fileFormats.dwf.whip.objects.drawable.dwfWhipPNGGroup4Image.binaryData Property      com.aspose.cad.fileFormats.dwf.whip.objects.drawable.dwfWhipPNGGroup4Image.columns Property      com.aspose.cad.fileFormats.dwf.whip.objects.drawable.dwfWhipPNGGroup4Image.maxCorner Property      com.aspose.cad.fileFormats.dwf.whip.objects.drawable.dwfWhipPNGGroup4Image.maxPoint Property      com.aspose.cad.fileFormats.dwf.whip.objects.drawable.dwfWhipPNGGroup4Image.minCorner Property      com.aspose.cad.fileFormats.dwf.whip.objects.drawable.dwfWhipPNGGroup4Image.minPoint Property      com.aspose.cad.fileFormats.dwf.whip.objects.drawable.dwfWhipPNGGroup4Image.rows Property      com.aspose.cad.font.bold Property      com.aspose.cad.font.characterSet Property      com.aspose.cad.font.italic Property      com.aspose.cad.font.name Property      com.aspose.cad.font.size Property      com.aspose.cad.font.strikeout Property      com.aspose.cad.font.style Property      com.aspose.cad.font.underline Property      com.aspose.cad.font.unit Property      com.aspose.cad.stringFormat.alignment Property      com.aspose.cad.stringFormat.digitSubstitutionLanguage Property      com.aspose.cad.stringFormat.digitSubstitutionMethod Property      com.aspose.cad.stringFormat.firstTabOffset Property      com.aspose.cad.stringFormat.formatFlags Property      com.aspose.cad.stringFormat.genericDefault Property      com.aspose.cad.stringFormat.genericTypographic Property      com.aspose.cad.stringFormat.hotkeyPrefix Property      com.aspose.cad.stringFormat.lineAlignment Property      com.aspose.cad.stringFormat.tabStops Property      com.aspose.cad.stringFormat.trimming

Usage examples:

CADJAVA-660 - Implement automatic codepage detection for DWG and DXF

 LoadOptions opts = new LoadOptions();

opts.setSpecifiedEncoding(CodePages.Japanese);

opts.setSpecifiedMifEncoding(MifCodePages.Japanese);

opts.setRecoverMalformedCifMif(false);

CadImage cadImage = (CadImage)Image.load(GetFileFromDesktop("file.dwg"), opts);

//do export or something else with cadImage

CADJAVA-669 - Support for DWFX files

 CadImage cadImageDwf = (CadImage)Image.load(GetFileFromDesktop("example-580-W.dwfx"));

CadRasterizationOptions rasterizationOptions = new CadRasterizationOptions();

rasterizationOptions.setPageWidth(cadImageDwf.getSize().getWidth());

rasterizationOptions.setPageHeight(cadImageDwf.getSize().getHeight());

PdfOptions CADf = new PdfOptions();

CADf.setVectorRasterizationOptions(rasterizationOptions);

cadImageDwf.save("example-580-W_custom.pdf", CADf);

CADJAVA-659 - How to interrupt or put a timeout on Save

 CadImage cadImageBig = (CadImage)Image.load(GetFileFromDesktop("huge-drawing.dwg"));

CadRasterizationOptions rasterizationOptionsBig = new CadRasterizationOptions();

rasterizationOptionsBig.setPageWidth(cadImageBig.getSize().getWidth() / 2);

rasterizationOptionsBig.setPageHeight(cadImageBig.getSize().getHeight() / 2);

PdfOptions CADfBig = new PdfOptions();

CADfBig.setVectorRasterizationOptions(rasterizationOptionsBig);

InterruptionTokenSource its = new InterruptionTokenSource();

CADfBig.setInterruptionToken(its.getToken());

Runnable task = () -> {

    cadImageBig.save("example-580-W_custom.pdf", CADfBig);

};

task.run();

TimeUnit.SECONDS.sleep(10);

its.interrupt();

task.wait();