{"translation-revision-date":"2026-MO-DA HO:MI+ZONE","generator":"WP-CLI\/2.12.0","source":"src\/Components\/HeaderLine.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"it_IT","plural-forms":"nplurals=2; plural=(n != 1);"},"Formerly Elementor Header & Footer Builder":["Ex Elementor Header & Footer Builder"]}}}/* global redux, tinyMCE, ajaxurl */ // noinspection JSUnresolvedReference (function ( $ ) { 'use strict'; $.redux = $.redux || {}; $.redux.ajax_save = function ( button ) { let $data; let $nonce; const overlay = $( document.getElementById( 'redux_ajax_overlay' ) ); const $notification_bar = $( document.getElementById( 'redux_notification_bar' ) ); const $parent = $( button ).parents( '.redux-wrap-div' ).find( 'form' ).first(); overlay.fadeIn(); // Add the loading mechanism. $( '.redux-action_bar .spinner' ).addClass( 'is-active' ); $( '.redux-action_bar input' ).prop( 'disabled', true ); $notification_bar.slideUp(); $( '.redux-save-warn' ).slideUp(); $( '.redux_ajax_save_error' ).slideUp( 'medium', function () { $( this ).remove(); } ); // Editor field doesn't auto save. Have to call it. Boo. if ( redux.optName.hasOwnProperty( 'editor' ) ) { $.each( redux.optName.editor, function ( $key ) { let editor; if ( 'undefined' !== typeof ( tinyMCE ) ) { editor = tinyMCE.get( $key ); if ( editor ) { editor.save(); } } } ); } $data = $parent.serialize(); // Add values for checked and unchecked checkboxes fields. $parent.find( 'input[type=checkbox]' ).each( function () { let chkVal; if ( 'undefined' !== typeof $( this ).attr( 'name' ) ) { chkVal = $( this ).is( ':checked' ) ? $( this ).val() : '0'; $data += '&' + $( this ).attr( 'name' ) + '=' + chkVal; } } ); if ( 'redux_save' !== button.attr( 'name' ) ) { $data += '&' + button.attr( 'name' ) + '=' + button.val(); } $nonce = $parent.attr( 'data-nonce' ); $.ajax( { type: 'post', dataType: 'json', url: ajaxurl, data: { action: redux.optName.args.opt_name + '_ajax_save', nonce: $nonce, 'opt_name': redux.optName.args.opt_name, data: $data }, error: function ( response ) { let input = $( '.redux-action_bar input' ); input.prop( 'disabled', false ); if ( true === redux.optName.args.dev_mode ) { console.log( response.responseText ); overlay.fadeOut( 'fast' ); $( '.redux-action_bar .spinner' ).removeClass( 'is-active' ); alert( redux.optName.ajax.alert ); } else { redux.optName.args.ajax_save = false; $( button ).trigger( 'click' ); input.prop( 'disabled', true ); } }, success: function ( response ) { let $save_notice; if ( response.action && 'reload' === response.action ) { location.reload( true ); } else if ( 'success' === response.status ) { $( '.redux-action_bar input' ).prop( 'disabled', false ); overlay.fadeOut( 'fast' ); $( '.redux-action_bar .spinner' ).removeClass( 'is-active' ); redux.optName.options = response.options; redux.optName.errors = response.errors; redux.optName.warnings = response.warnings; redux.optName.sanitize = response.sanitize; $notification_bar.html( response.notification_bar ).slideDown( 'fast' ); if ( null !== response.errors || null !== response.warnings ) { $.redux.notices(); } if ( null !== response.sanitize ) { $.redux.sanitize(); } $save_notice = $( document.getElementById( 'redux_notification_bar' ) ).find( '.saved_notice' ); $save_notice.slideDown(); $save_notice.delay( 4000 ).slideUp(); } else { $( '.redux-action_bar input' ).prop( 'disabled', false ); $( '.redux-action_bar .spinner' ).removeClass( 'is-active' ); overlay.fadeOut( 'fast' ); $( '.wrap h2:first' ).parent().append( '
' ); $( '.redux_ajax_save_error' ).slideDown(); $( 'html, body' ).animate( { scrollTop: 0 }, 'slow' ); } } } ); return false; }; })( jQuery ); /* jshint unused:false */ function colorValidate( field ) { 'use strict'; const value = jQuery( field ).val(); const hex = colorNameToHex( value ); if ( hex !== value.replace( '#', '' ) ) { return hex; } return value; } function colorNameToHex( colour ) { 'use strict'; const tcolour = colour.replace( /^\s+/, '' ).replace( /\s+$/, '' ).replace( '#', '' ); const colours = { 'aliceblue': '#f0f8ff', 'antiquewhite': '#faebd7', 'aqua': '#00ffff', 'aquamarine': '#7fffd4', 'azure': '#f0ffff', 'beige': '#f5f5dc', 'bisque': '#ffe4c4', 'black': '#000000', 'blanchedalmond': '#ffebcd', 'blue': '#0000ff', 'blueviolet': '#8a2be2', 'brown': '#a52a2a', 'burlywood': '#deb887', 'cadetblue': '#5f9ea0', 'chartreuse': '#7fff00', 'chocolate': '#d2691e', 'coral': '#ff7f50', 'cornflowerblue': '#6495ed', 'cornsilk': '#fff8dc', 'crimson': '#dc143c', 'cyan': '#00ffff', 'darkblue': '#00008b', 'darkcyan': '#008b8b', 'darkgoldenrod': '#b8860b', 'darkgray': '#a9a9a9', 'darkgreen': '#006400', 'darkkhaki': '#bdb76b', 'darkmagenta': '#8b008b', 'darkolivegreen': '#556b2f', 'darkorange': '#ff8c00', 'darkorchid': '#9932cc', 'darkred': '#8b0000', 'darksalmon': '#e9967a', 'darkseagreen': '#8fbc8f', 'darkslateblue': '#483d8b', 'darkslategray': '#2f4f4f', 'darkturquoise': '#00ced1', 'darkviolet': '#9400d3', 'deeppink': '#ff1493', 'deepskyblue': '#00bfff', 'dimgray': '#696969', 'dodgerblue': '#1e90ff', 'firebrick': '#b22222', 'floralwhite': '#fffaf0', 'forestgreen': '#228b22', 'fuchsia': '#ff00ff', 'gainsboro': '#dcdcdc', 'ghostwhite': '#f8f8ff', 'gold': '#ffd700', 'goldenrod': '#daa520', 'gray': '#808080', 'green': '#008000', 'greenyellow': '#adff2f', 'honeydew': '#f0fff0', 'hotpink': '#ff69b4', 'indianred ': '#cd5c5c', 'indigo ': '#4b0082', 'ivory': '#fffff0', 'khaki': '#f0e68c', 'lavender': '#e6e6fa', 'lavenderblush': '#fff0f5', 'lawngreen': '#7cfc00', 'lemonchiffon': '#fffacd', 'lightblue': '#add8e6', 'lightcoral': '#f08080', 'lightcyan': '#e0ffff', 'lightgoldenrodyellow': '#fafad2', 'lightgrey': '#d3d3d3', 'lightgreen': '#90ee90', 'lightpink': '#ffb6c1', 'lightsalmon': '#ffa07a', 'lightseagreen': '#20b2aa', 'lightskyblue': '#87cefa', 'lightslategray': '#778899', 'lightsteelblue': '#b0c4de', 'lightyellow': '#ffffe0', 'lime': '#00ff00', 'limegreen': '#32cd32', 'linen': '#faf0e6', 'magenta': '#ff00ff', 'maroon': '#800000', 'mediumaquamarine': '#66cdaa', 'mediumblue': '#0000cd', 'mediumorchid': '#ba55d3', 'mediumpurple': '#9370d8', 'mediumseagreen': '#3cb371', 'mediumslateblue': '#7b68ee', 'mediumspringgreen': '#00fa9a', 'mediumturquoise': '#48d1cc', 'mediumvioletred': '#c71585', 'midnightblue': '#191970', 'mintcream': '#f5fffa', 'mistyrose': '#ffe4e1', 'moccasin': '#ffe4b5', 'navajowhite': '#ffdead', 'navy': '#000080', 'oldlace': '#fdf5e6', 'olive': '#808000', 'olivedrab': '#6b8e23', 'orange': '#ffa500', 'orangered': '#ff4500', 'orchid': '#da70d6', 'palegoldenrod': '#eee8aa', 'palegreen': '#98fb98', 'paleturquoise': '#afeeee', 'palevioletred': '#d87093', 'papayawhip': '#ffefd5', 'peachpuff': '#ffdab9', 'peru': '#cd853f', 'pink': '#ffc0cb', 'plum': '#dda0dd', 'powderblue': '#b0e0e6', 'purple': '#800080', 'red': '#ff0000', 'redux': '#01a3e3', 'rosybrown': '#bc8f8f', 'royalblue': '#4169e1', 'saddlebrown': '#8b4513', 'salmon': '#fa8072', 'sandybrown': '#f4a460', 'seagreen': '#2e8b57', 'seashell': '#fff5ee', 'sienna': '#a0522d', 'silver': '#c0c0c0', 'skyblue': '#87ceeb', 'slateblue': '#6a5acd', 'slategray': '#708090', 'snow': '#fffafa', 'springgreen': '#00ff7f', 'steelblue': '#4682b4', 'tan': '#d2b48c', 'teal': '#008080', 'thistle': '#d8bfd8', 'tomato': '#ff6347', 'turquoise': '#40e0d0', 'violet': '#ee82ee', 'wheat': '#f5deb3', 'white': '#ffffff', 'whitesmoke': '#f5f5f5', 'yellow': '#ffff00', 'yellowgreen': '#9acd32' }; if ( 'undefined' !== colours[tcolour.toLowerCase()] ) { return colours[tcolour.toLowerCase()]; } return colour; } (function ( $ ) { 'use strict'; $.redux = $.redux || {}; $.redux.expandOptions = function ( parent ) { const trigger = parent.find( '.expand_options' ); const width = parent.find( '.redux-sidebar' ).width() - 1; const id = $( '.redux-group-menu .active a' ).data( 'rel' ) + '_section_group'; if ( trigger.hasClass( 'expanded' ) ) { trigger.removeClass( 'expanded' ); parent.find( '.redux-main' ).removeClass( 'expand' ); parent.find( '.redux-sidebar' ).stop().animate( { 'margin-left': '0px' }, 500 ); parent.find( '.redux-main' ).stop().animate( { 'margin-left': width }, 500, function () { parent.find( '.redux-main' ).attr( 'style', '' ); } ); parent.find( '.redux-group-tab' ).each( function () { if ( $( this ).attr( 'id' ) !== id ) { $( this ).fadeOut( 'fast' ); } } ); // Show the only active one. } else { trigger.addClass( 'expanded' ); parent.find( '.redux-main' ).addClass( 'expand' ); parent.find( '.redux-sidebar' ).stop().animate( { 'margin-left': - width - 113 }, 500 ); parent.find( '.redux-main' ).stop().animate( { 'margin-left': '-1px' }, 500 ); parent.find( '.redux-group-tab' ).fadeIn( 'medium', function () { $.redux.initFields(); } ); } return false; }; })( jQuery ); /* global redux, redux_change, jQuery */ // noinspection JSUnresolvedReference (function ( $ ) { 'use strict'; $.redux = $.redux || {}; $.redux.initEvents = function ( el ) { let stickyHeight; el.find( '.redux-presets-bar' ).on( 'click', function () { window.onbeforeunload = null; } ); if ( true === redux.optName.args.search ) { const url = window.location.href; const wordAfterUrl = url.split( '/' ).pop(); if ( 'profile.php' === wordAfterUrl || 0 === wordAfterUrl.indexOf( 'edit-tags.php' ) ) { return false; } if ( 0 === $( '#customize-controls' ).length ) { $( '.redux-container' ).each( function ( ) { if ( ! $( this ).hasClass( 'redux-no-sections' ) ) { $( this ).find( '.redux-main' ).prepend( '' ); } } ); $( '.redux_field_search' ).on( 'keypress', function ( evt ) { // Determine where our character code is coming from within the event. const charCode = evt.charCode || evt.keyCode; if ( 13 === charCode ) { // Enter key's keycode. return false; } } ).typeWatch( { callback: function ( searchString ) { let searchArray; let parent; let expanded_options; searchString = searchString.toLowerCase(); searchArray = searchString.split( ' ' ); parent = $( this ).parents( '.redux-container:first' ); expanded_options = parent.find( '.expand_options' ); if ( '' !== searchString ) { if ( ! expanded_options.hasClass( 'expanded' ) ) { expanded_options.trigger( 'click' ); parent.find( '.redux-main' ).addClass( 'redux-search' ); } } else { if ( expanded_options.hasClass( 'expanded' ) ) { expanded_options.trigger( 'click' ); parent.find( '.redux-main' ).removeClass( 'redux-search' ); } parent.find( '.redux-section-field, .redux-info-field, .redux-notice-field, .redux-container-group, .redux-section-desc, .redux-group-tab h3' ).show(); } parent.find( '.redux-field-container' ).each( function () { if ( '' !== searchString ) { $( this ).parents( 'tr:first' ).hide(); } else { $( this ).parents( 'tr:first' ).show(); } } ); parent.find( '.form-table tr' ).filter( function () { let isMatch = true, text = $( this ).find( '.redux_field_th' ).text().toLowerCase(); if ( ! text || '' === text ) { return false; } $.each( searchArray, function ( i, searchStr ) { if ( -1 === text.indexOf( searchStr ) ) { isMatch = false; } } ); if ( isMatch ) { $( this ).show(); } return isMatch; } ).show(); }, wait: 400, highlight: false, captureLength: 0 } ); } } // Customizer save hook. el.find( '#customize-save-button-wrapper #save' ).on( 'click', function () { } ); el.find( '#toplevel_page_' + redux.optName.args.slug + ' .wp-submenu a, #wp-admin-bar-' + redux.optName.args.slug + ' a.ab-item' ).on( 'click', function ( e ) { let url; if ( ( el.find( '#toplevel_page_' + redux.optName.args.slug ).hasClass( 'wp-menu-open' ) || $( this ).hasClass( 'ab-item' ) ) && ! $( this ).parents( 'ul.ab-submenu:first' ).hasClass( 'ab-sub-secondary' ) && $( this ).attr( 'href' ).toLowerCase().indexOf( redux.optName.args.slug + '&tab=' ) >= 0 ) { url = $( this ).attr( 'href' ).split( '&tab=' ); e.preventDefault(); el.find( '#' + url[1] + '_section_group_li_a' ).trigger( 'click' ); $( this ).parents( 'ul:first' ).find( '.current' ).removeClass( 'current' ); $( this ).addClass( 'current' ); $( this ).parent().addClass( 'current' ); return false; } } ); // Save button clicked. el.find( '.redux-action_bar input, #redux-import-action input' ).on( 'click', function ( e ) { if ( $( this ).attr( 'name' ) === redux.optName.args.opt_name + '[defaults]' ) { // Defaults button clicked. if ( ! confirm( redux.optName.args.reset_confirm ) ) { return false; } } else if ( $( this ).attr( 'name' ) === redux.optName.args.opt_name + '[defaults-section]' ) { // Default section clicked. if ( ! confirm( redux.optName.args.reset_section_confirm ) ) { return false; } } else if ( 'import' === $( this ).attr( 'name' ) ) { if ( ! confirm( redux.optName.args.import_section_confirm ) ) { return false; } } window.onbeforeunload = null; if ( true === redux.optName.args.ajax_save ) { $.redux.ajax_save( $( this ) ); e.preventDefault(); } else { location.reload( true ); } } ); $( '.expand_options' ).on( 'click', function ( e ) { let tab; const container = el; e.preventDefault(); if ( $( container ).hasClass( 'fully-expanded' ) ) { $( container ).removeClass( 'fully-expanded' ); tab = $.cookie( 'redux_current_tab_' + redux.optName.args.opt_name ); el.find( '#' + tab + '_section_group' ).fadeIn( 200, function () { if ( 0 !== el.find( '#redux-footer' ).length ) { $.redux.stickyInfo(); // Race condition fix. } $.redux.initFields(); } ); } $.redux.expandOptions( $( this ).parents( '.redux-container:first' ) ); return false; } ); if ( el.find( '.saved_notice' ).is( ':visible' ) ) { el.find( '.saved_notice' ).slideDown(); } $( document.body ).on( 'change', '.redux-field input, .redux-field textarea, .redux-field select', function () { if ( $( '.redux-container-typography select' ).hasClass( 'ignore-change' ) ) { return; } if ( ! $( this ).hasClass( 'noUpdate' ) && ! $( this ).hasClass( 'no-update' ) ) { redux_change( $( this ) ); } } ); stickyHeight = el.find( '#redux-footer' ).height(); el.find( '#redux-sticky-padder' ).css( { height: stickyHeight } ); el.find( '#redux-footer-sticky' ).removeClass( 'hide' ); if ( 0 !== el.find( '#redux-footer' ).length ) { $( window ).on( 'scroll', function () { $.redux.stickyInfo(); } ); $( window ).on( 'resize', function () { $.redux.stickyInfo(); } ); } el.find( '.saved_notice' ).delay( 4000 ).slideUp(); }; })( jQuery ); /* global redux */ (function ( $ ) { 'use strict'; $.redux = $.redux || {}; $.redux.initFields = function () { $( '.redux-group-tab:visible' ).find( '.redux-field-init:visible' ).each( function () { let tr; let th; const type = $( this ).attr( 'data-type' ); if ( 'undefined' !== typeof redux.field_objects && redux.field_objects[type] && redux.field_objects[type] ) { redux.field_objects[type].init(); } if ( ! redux.customizer && $( this ).hasClass( 'redux_remove_th' ) ) { tr = $( this ).parents( 'tr:first' ); th = tr.find( 'th:first' ); if ( th.html() && th.html().length > 0 ) { $( this ).prepend( th.html() ); $( this ).find( '.redux_field_th' ).css( 'padding', '0 0 10px 0' ); } $( this ).parent().attr( 'colspan', '2' ); th.remove(); } } ); }; })( jQuery ); /* global redux, document */ // noinspection JSUnresolvedReference (function ( $ ) { 'use strict'; $.redux = $.redux || {}; $( document ).ready( function () { let opt_name; let tempArr = []; let container; $.fn.isOnScreen = function () { let win; let viewport; let bounds; if ( ! window ) { return; } win = $( window ); viewport = { top: win.scrollTop() }; viewport.right = viewport.left + win.width(); viewport.bottom = viewport.top + win.height(); bounds = this.offset(); bounds.right = bounds.left + this.outerWidth(); bounds.bottom = bounds.top + this.outerHeight(); return ( ! ( viewport.right < bounds.left || viewport.left > bounds.right || viewport.bottom < bounds.top || viewport.top > bounds.bottom ) ); }; $( 'fieldset.redux-container-divide' ).css( 'display', 'none' ); // Weed out multiple instances of duplicate Redux instance. if ( redux.customizer ) { $( '.wp-full-overlay-sidebar' ).addClass( 'redux-container' ); } container = $( '.redux-container' ); container.each( function () { opt_name = $.redux.getOptName( this ); if ( $.inArray( opt_name, tempArr ) === -1 ) { tempArr.push( opt_name ); $.redux.checkRequired( $( this ) ); $.redux.initEvents( $( this ) ); } } ); container.on( 'click', function () { opt_name = $.redux.getOptName( this ); } ); if ( undefined !== redux.optName ) { $.redux.disableFields(); $.redux.hideFields(); $.redux.disableSections(); $.redux.initQtip(); $.redux.tabCheck(); $.redux.notices(); if ( 'undefined' === typeof $.redux.flyoutSubmenus ) { $.redux.flyoutSubmenu(); } } } ); $.redux.flyoutSubmenu = function () { // Close flyouts when a new menu item is activated. $( '.redux-group-tab-link-li a' ).on( 'click', function () { if ( true === redux.optName.args.flyout_submenus ) { $( '.redux-group-tab-link-li' ).removeClass( 'redux-section-hover' ); } } ); if ( true === redux.optName.args.flyout_submenus ) { // Submenus flyout when a main menu item is hovered. $( '.redux-group-tab-link-li.hasSubSections' ).each( function () { $( this ).on( 'mouseenter', function () { if ( ! $( this ).hasClass( 'active' ) && ! $( this ).hasClass( 'activeChild' ) ) { $( this ).addClass( 'redux-section-hover' ); } } ); $( this ).on( 'mouseleave', function () { $( this ).removeClass( 'redux-section-hover' ); } ); } ); } }; $.redux.disableSections = function () { $( '.redux-group-tab' ).each( function () { if ( $( this ).hasClass( 'disabled' ) ) { $( this ).find( 'input, select, textarea' ).attr( 'name', '' ); } } ); }; $.redux.disableFields = function () { $( 'tr.redux_disable_field' ).each( function () { $( this ).parents( 'tr' ).find( 'fieldset:first' ).find( 'input, select, textarea' ).attr( 'name', '' ); } ); }; $.redux.hideFields = function () { $( 'tr.redux_hide_field' ).each( function () { $( this ).addClass( 'hidden' ); } ); }; $.redux.getOptName = function ( el ) { let metabox; let optName; let item = $( el ); if ( redux.customizer ) { optName = item.find( '.redux-customizer-opt-name' ).data( 'opt-name' ); } else { optName = $( el ).parents( '.redux-wrap-div' ).data( 'opt-name' ); } // Compatibility for metaboxes. if ( undefined === optName ) { metabox = $( el ).parents( '.postbox' ); if ( 0 === metabox.length ) { metabox = $( el ).parents( '.redux-metabox' ); } if ( 0 !== metabox.length ) { optName = metabox.attr( 'id' ).replace( 'redux-', '' ).split( '-metabox-' )[0]; if ( undefined === optName ) { optName = metabox.attr( 'class' ) .replace( 'redux-metabox', '' ) .replace( 'postbox', '' ) .replace( 'redux-', '' ) .replace( 'hide', '' ) .replace( 'closed', '' ) .trim(); } } else { optName = $( '.redux-ajax-security' ).data( 'opt-name' ); } } if ( undefined === optName ) { optName = $( el ).find( '.redux-form-wrapper' ).data( 'opt-name' ); } // Shim, let's just get an opt_name shall we?! if ( undefined === optName ) { optName = redux.opt_names[0]; } if ( undefined !== optName ) { redux.optName = window['redux_' + optName.replace( /\-/g, '_' )]; } return optName; }; $.redux.getSelector = function ( selector, fieldType ) { if ( ! selector ) { selector = '.redux-container-' + fieldType + ':visible'; if ( redux.customizer ) { selector = $( document ).find( '.control-section-redux.open' ).find( selector ); } else { selector = $( document ).find( '.redux-group-tab:visible' ).find( selector ); } } return selector; }; })( jQuery ); /* global redux */ (function ( $ ) { 'use strict'; $.redux = $.redux || {}; $.redux.sanitize = function () { if ( redux.optName.sanitize && redux.optName.sanitize.sanitize ) { $.each( redux.optName.sanitize.sanitize, function ( sectionID, sectionArray ) { sectionID = null; $.each( sectionArray.sanitize, function ( key, value ) { $.redux.fixInput( key, value ); } ); } ); } }; $.redux.fixInput = function ( key, value ) { let val; let input; let inputVal; let ul; let li; if ( 'multi_text' === value.type ) { ul = $( '#' + value.id + '-ul' ); li = $( ul.find( 'li' ) ); li.each( function () { input = $( this ).find( 'input' ); inputVal = input.val(); if ( inputVal === value.old ) { input.val( value.current ); } } ); return; } input = $( 'input#' + value.id + '-' + key ); if ( 0 === input.length ) { input = $( 'input#' + value.id ); } if ( 0 === input.length ) { input = $( 'textarea#' + value.id + '-textarea' ); } if ( input.length > 0 ) { val = '' === value.current ? value.default : value.current; $( input ).val( val ); } }; $.redux.notices = function () { if ( redux.optName.errors && redux.optName.errors.errors ) { $.each( redux.optName.errors.errors, function ( sectionID, sectionArray ) { sectionID = null; $.each( sectionArray.errors, function ( key, value ) { const fieldset = $( '#' + redux.optName.args.opt_name + '-' + value.id ); if ( '' !== value.msg ) { fieldset.addClass( 'redux-field-error' ); } if ( 0 === fieldset.parent().find( '.redux-th-error' ).length ) { fieldset.append( '
Official Full Version | Lifetime License for Windows
Complete software with activation
Direct from bluebeam.com
One-time payment, no subscriptions
Step-by-step setup instructions
Architects, engineers and builders use Bluebeam software to finish projects faster, reduce risk, and maximize ROI.
Powerful, highly customizable document management, markup and automation tools with built-in collaboration space, Studio.
Access work anywhere with our desktop and cloud solutions built on open standards.
Communicate changes with industry-standard tools while preserving important project data.
Easily convert CAD formats to PDF while preserving all critical design elements.
Work with 3D PDFs and edit both 2D and 3D content with precision tools.
Convert scanned documents into searchable and editable text with advanced OCR.
Protect sensitive documents with multiple security options and permissions.
Get more done in one place by connecting with external apps, automating custom workflows and sharing data across devices, systems and teams.