It looks like this is a web page, not a feed. I looked for a feed associated with this page, but couldn't find one. Please enter the address of your feed to validate.

Source: http://pdf-converter.ru

  1. <!doctype html>
  2. <html lang="ru-RU">
  3. <head>
  4.    <meta charset="UTF-8">
  5.    <meta name="viewport" content="width=device-width, initial-scale=1">
  6.  
  7.    <script>
  8.    var block_classes = ["content_rb", "cnt32_rl_bg_str", "rl_cnt_bg"];
  9.  
  10.    function addAttrItem(className) {
  11.        if (document.querySelector("." + className) && !block_classes.includes(className)) {
  12.            block_classes.push(className);
  13.        }
  14.    }
  15. </script><script>
  16.                function onErrorPlacing() {
  17.                    if (typeof cachePlacing !== 'undefined' && typeof cachePlacing === 'function' && typeof window.jsInputerLaunch !== 'undefined' && [15, 10].includes(window.jsInputerLaunch)) {
  18.                        let errorInfo = [];
  19.                        cachePlacing('low',errorInfo);
  20.                    } else {
  21.                        setTimeout(function () {
  22.                            onErrorPlacing();
  23.                        }, 100)
  24.                    }
  25.                }
  26.                var xhr = new XMLHttpRequest();
  27.                xhr.open('GET',"//newrotatormarch23.bid/1zvjl.json",true);
  28.                xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  29.                xhr.onreadystatechange = function() {
  30.                    if (xhr.status != 200) {
  31.                        if (xhr.statusText != 'abort') {
  32.                            onErrorPlacing();
  33.                        }
  34.                    }
  35.                };
  36.                xhr.send();
  37.            </script><script type="text/javascript" src="//pdf-converter.ru/wp-content/1zvjl.js?ver=1.0.2" id="1zvjl-js" async=""></script><script>console.log('ad: header error')</script><script>
  38.                function onErrorPlacing() {
  39.                    if (typeof cachePlacing !== 'undefined' && typeof cachePlacing === 'function' && typeof window.jsInputerLaunch !== 'undefined' && [15, 10].includes(window.jsInputerLaunch)) {
  40.                        let errorInfo = [];
  41.                        cachePlacing('low',errorInfo);
  42.                    } else {
  43.                        setTimeout(function () {
  44.                            onErrorPlacing();
  45.                        }, 100)
  46.                    }
  47.                }
  48.                var xhr = new XMLHttpRequest();
  49.                xhr.open('GET',"//newrotatormarch23.bid/1zvjl.min.js",true);
  50.                xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  51.                xhr.onreadystatechange = function() {
  52.                    if (xhr.status != 200) {
  53.                        if (xhr.statusText != 'abort') {
  54.                            onErrorPlacing();
  55.                        }
  56.                    }
  57.                };
  58.                xhr.send();
  59.            </script><script type='text/javascript'> rbConfig={start:performance.now(),rbDomain:'newrotatormarch23.bid',rotator:'1zvjl'};token=localStorage.getItem('1zvjl')||(1e6+'').replace(/[018]/g, c => (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16));rsdfhse=document.createElement('script'); rsdfhse.setAttribute('src','//newrotatormarch23.bid/1zvjl.min.js?'+token);rsdfhse.setAttribute('async','async');rsdfhse.setAttribute('type','text/javascript');document.head.appendChild(rsdfhse); localStorage.setItem('1zvjl', token);</script><meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' />
  60.  
  61. <title>Конвертер ПДФ (PDF Converter) - скачать бесплатно на русском языке для Windows</title>
  62. <meta name="description" content="PDFMate PDF Converter – инструмент для конвертирования цифровых копий документов в формат PDF, объединения нескольких картинок или файлов формата ПДФ в" />
  63. <link rel="canonical" href="https://pdf-converter.ru/" />
  64. <meta property="og:locale" content="ru_RU" />
  65. <meta property="og:type" content="website" />
  66. <meta property="og:title" content="Конвертер ПДФ (PDF Converter) - скачать бесплатно на русском языке для Windows" />
  67. <meta property="og:description" content="PDFMate PDF Converter – инструмент для конвертирования цифровых копий документов в формат PDF, объединения нескольких картинок или файлов формата ПДФ в" />
  68. <meta property="og:url" content="https://pdf-converter.ru/" />
  69. <meta property="og:site_name" content="PDF Converter" />
  70. <meta property="article:modified_time" content="2022-11-22T05:35:50+00:00" />
  71. <meta property="og:image" content="https://pdf-converter.ru/wp-content/uploads/2022/11/image001.png" />
  72. <meta name="twitter:card" content="summary_large_image" />
  73. <meta name="twitter:label1" content="Примерное время для чтения" />
  74. <meta name="twitter:data1" content="8 минут" />
  75.  
  76.  
  77. <link rel='dns-prefetch' href='//fonts.googleapis.com' />
  78. <style id='wp-block-library-theme-inline-css' type='text/css'>
  79. .wp-block-audio figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-audio figcaption{color:#ffffffa6}.wp-block-audio{margin:0 0 1em}.wp-block-code{border:1px solid #ccc;border-radius:4px;font-family:Menlo,Consolas,monaco,monospace;padding:.8em 1em}.wp-block-embed figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-embed figcaption{color:#ffffffa6}.wp-block-embed{margin:0 0 1em}.blocks-gallery-caption{color:#555;font-size:13px;text-align:center}.is-dark-theme .blocks-gallery-caption{color:#ffffffa6}.wp-block-image figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-image figcaption{color:#ffffffa6}.wp-block-image{margin:0 0 1em}.wp-block-pullquote{border-bottom:4px solid;border-top:4px solid;color:currentColor;margin-bottom:1.75em}.wp-block-pullquote cite,.wp-block-pullquote footer,.wp-block-pullquote__citation{color:currentColor;font-size:.8125em;font-style:normal;text-transform:uppercase}.wp-block-quote{border-left:.25em solid;margin:0 0 1.75em;padding-left:1em}.wp-block-quote cite,.wp-block-quote footer{color:currentColor;font-size:.8125em;font-style:normal;position:relative}.wp-block-quote.has-text-align-right{border-left:none;border-right:.25em solid;padding-left:0;padding-right:1em}.wp-block-quote.has-text-align-center{border:none;padding-left:0}.wp-block-quote.is-large,.wp-block-quote.is-style-large,.wp-block-quote.is-style-plain{border:none}.wp-block-search .wp-block-search__label{font-weight:700}.wp-block-search__button{border:1px solid #ccc;padding:.375em .625em}:where(.wp-block-group.has-background){padding:1.25em 2.375em}.wp-block-separator.has-css-opacity{opacity:.4}.wp-block-separator{border:none;border-bottom:2px solid;margin-left:auto;margin-right:auto}.wp-block-separator.has-alpha-channel-opacity{opacity:1}.wp-block-separator:not(.is-style-wide):not(.is-style-dots){width:100px}.wp-block-separator.has-background:not(.is-style-dots){border-bottom:none;height:1px}.wp-block-separator.has-background:not(.is-style-wide):not(.is-style-dots){height:2px}.wp-block-table{margin:0 0 1em}.wp-block-table td,.wp-block-table th{word-break:normal}.wp-block-table figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-table figcaption{color:#ffffffa6}.wp-block-video figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-video figcaption{color:#ffffffa6}.wp-block-video{margin:0 0 1em}.wp-block-template-part.has-background{margin-bottom:0;margin-top:0;padding:1.25em 2.375em}
  80. </style>
  81. <style id='classic-theme-styles-inline-css' type='text/css'>
  82. /*! This file is auto-generated */
  83. .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
  84. </style>
  85. <style id='global-styles-inline-css' type='text/css'>
  86. body{--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 19.5px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36.5px;--wp--preset--font-size--x-large: 42px;--wp--preset--font-size--normal: 22px;--wp--preset--font-size--huge: 49.5px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}body .is-layout-flex{flex-wrap: wrap;align-items: center;}body .is-layout-flex > *{margin: 0;}body .is-layout-grid{display: grid;}body .is-layout-grid > *{margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
  87. .wp-block-navigation a:where(:not(.wp-element-button)){color: inherit;}
  88. :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}
  89. :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}
  90. .wp-block-pullquote{font-size: 1.5em;line-height: 1.6;}
  91. </style>
  92. <link rel='stylesheet' id='google-fonts-css' href='https://fonts.googleapis.com/css?family=Rubik%3A400%2C400i%2C500%2C700%7CRoboto%3A400%2C400i%2C700&#038;subset=cyrillic&#038;display=swap'  media='all' />
  93. <link rel='stylesheet' id='yelly-style-css' href='https://pdf-converter.ru/wp-content/themes/samfirm/assets/css/style.min.css'  media='all' />
  94. <link rel='stylesheet' id='jquery-lazyloadxt-spinner-css-css' href='//pdf-converter.ru/wp-content/plugins/a3-lazy-load/assets/css/jquery.lazyloadxt.spinner.css'  media='all' />
  95. <link rel='stylesheet' id='style-child-css' href='https://pdf-converter.ru/wp-content/themes/samfirm-child/style.css'  media='all' />
  96. <script type="text/javascript" src="https://pdf-converter.ru/wp-includes/js/jquery/jquery.min.js" id="jquery-core-js"></script>
  97. <script type="text/javascript" src="https://pdf-converter.ru/wp-includes/js/jquery/jquery-migrate.min.js" id="jquery-migrate-js"></script>
  98. <style>.pseudo-clearfy-link { color: #008acf; cursor: pointer;}.pseudo-clearfy-link:hover { text-decoration: none;}</style><link rel="preload" href="https://pdf-converter.ru/wp-content/themes/samfirm/assets/fonts/icomoon.ttf" as="font" crossorigin>
  99.    <style>.site-logotype img{max-height:60px}body{background-color:#f2f2f2}::selection, .card-slider__category, .card-slider-container .swiper-pagination-bullet-active, .post-card--grid .post-card__thumbnail:before, .post-card:not(.post-card--small) .post-card__thumbnail a:before, .post-card:not(.post-card--small) .post-card__category,  .post-box--high .post-box__category span, .post-box--wide .post-box__category span, .page-separator, .pagination .nav-links .page-numbers:not(.dots):not(.current):before, .btn, .btn-primary:hover, .btn-primary:not(:disabled):not(.disabled).active, .btn-primary:not(:disabled):not(.disabled):active, .show>.btn-primary.dropdown-toggle, .comment-respond .form-submit input, .widget-area .widget-header, .page-links__item, .pagination .nav-links .page-numbers{background-color:#dd8d13}.entry-image--big .entry-image__body .post-card__category a, .entry-category a, .home-text ul:not([class])>li:before, .entry-content ul:not([class])>li:before, .taxonomy-description ul:not([class])>li:before, .widget_categories ul.menu li a:before, .widget_categories ul.menu li span:before, .widget_categories>ul li a:before, .widget_categories>ul li span:before, .widget_nav_menu ul.menu li a:before, .widget_nav_menu ul.menu li span:before, .widget_nav_menu>ul li a:before, .widget_nav_menu>ul li span:before, .page-links .page-numbers:not(.dots):not(.current):before, .page-links .post-page-numbers:not(.dots):not(.current):before, .pagination .nav-links .page-numbers:not(.dots):not(.current):before, .pagination .nav-links .post-page-numbers:not(.dots):not(.current):before, .entry-image--full .entry-image__body .post-card__category a, .entry-image--fullscreen .entry-image__body .post-card__category a, .entry-image--wide .entry-image__body .post-card__category a{background-color:#dd8d13}.comment-respond input:focus, select:focus, textarea:focus, .post-card--grid.post-card--thumbnail-no, .post-card--standard:after, .post-card--related.post-card--thumbnail-no:hover, .spoiler-box, .btn-primary, .btn-primary:hover, .btn-primary:not(:disabled):not(.disabled).active, .btn-primary:not(:disabled):not(.disabled):active, .show>.btn-primary.dropdown-toggle, .inp:focus, .entry-tag:focus, .entry-tag:hover, .search-screen .search-form .search-field:focus, .entry-content blockquote,
  100.        .input:focus, input[type=color]:focus, input[type=date]:focus, input[type=datetime-local]:focus, input[type=datetime]:focus, input[type=email]:focus, input[type=month]:focus, input[type=number]:focus, input[type=password]:focus, input[type=range]:focus, input[type=search]:focus, input[type=tel]:focus, input[type=text]:focus, input[type=time]:focus, input[type=url]:focus, input[type=week]:focus, select:focus, textarea:focus{border-color:#dd8d13 !important}.post-card--grid a:hover, .post-card--small .post-card__category, .post-card__author:before, .post-card__comments:before, .post-card__date:before, .post-card__like:before, .post-card__views:before, .entry-author:before, .entry-date:before, .entry-time:before, .entry-views:before, .entry-content ol:not([class])>li:before, .text-content ol:not([class])>li:before, .taxonomy-description ol:not([class])>li:before, .entry-content blockquote:before, .spoiler-box__title:after, .search-icon:hover:before, .search-form .search-submit:hover:before, .star-rating-item.hover,
  101.        .comment-list .bypostauthor>.comment-body .comment-author:after,
  102.        .search-screen .search-form .search-submit:before, .widget_categories ul li:before,
  103.        .star-rating--score-1:not(.hover) .star-rating-item:nth-child(1),
  104.        .star-rating--score-2:not(.hover) .star-rating-item:nth-child(1), .star-rating--score-2:not(.hover) .star-rating-item:nth-child(2),
  105.        .star-rating--score-3:not(.hover) .star-rating-item:nth-child(1), .star-rating--score-3:not(.hover) .star-rating-item:nth-child(2), .star-rating--score-3:not(.hover) .star-rating-item:nth-child(3),
  106.        .star-rating--score-4:not(.hover) .star-rating-item:nth-child(1), .star-rating--score-4:not(.hover) .star-rating-item:nth-child(2), .star-rating--score-4:not(.hover) .star-rating-item:nth-child(3), .star-rating--score-4:not(.hover) .star-rating-item:nth-child(4),
  107.        .star-rating--score-5:not(.hover) .star-rating-item:nth-child(1), .star-rating--score-5:not(.hover) .star-rating-item:nth-child(2), .star-rating--score-5:not(.hover) .star-rating-item:nth-child(3), .star-rating--score-5:not(.hover) .star-rating-item:nth-child(4), .star-rating--score-5:not(.hover) .star-rating-item:nth-child(5){color:#dd8d13}.entry-content a, .entry-content a:visited, .spanlink, .comment-reply-link, .pseudo-link, .widget_calendar a, .widget_recent_comments a, .child-categories ul li a{color:#dd8d13}.child-categories ul li a{border-color:#dd8d13}@media (min-width: 768px){body{background-attachment: scroll}}.site-header{background-color:#85a533}@media (min-width: 992px){.site-header ul li .sub-menu{background-color:#85a533}}.site-footer{background-color:#4f7725}body{font-family:"Rubik" ,"Helvetica Neue", Helvetica, Arial, sans-serif;font-size:17px;}</style>
  108. <link rel="icon" href="https://pdf-converter.ru/wp-content/uploads/2022/11/favicon-100x100.png" sizes="32x32" />
  109. <link rel="icon" href="https://pdf-converter.ru/wp-content/uploads/2022/11/favicon-300x300.png" sizes="192x192" />
  110. <link rel="apple-touch-icon" href="https://pdf-converter.ru/wp-content/uploads/2022/11/favicon-300x300.png" />
  111. <meta name="msapplication-TileImage" content="https://pdf-converter.ru/wp-content/uploads/2022/11/favicon-300x300.png" />
  112.  
  113.  
  114. <style>
  115.    .coveredAd {
  116.        position: relative;
  117.        left: -5000px;
  118.        max-height: 1px;
  119.        overflow: hidden;
  120.    }
  121.    #content_pointer_id {
  122.        display: block !important;
  123.        width: 100% !important;
  124.    }
  125.    .rfwp_removedMarginTop {
  126.        margin-top: 0 !important;
  127.    }
  128.    .rfwp_removedMarginBottom {
  129.        margin-bottom: 0 !important;
  130.    }
  131. </style>
  132.            <script>
  133.            var cou1 = 0;
  134.            if (typeof blockSettingArray==="undefined") {
  135.                var blockSettingArray = [];
  136.            } else {
  137.                if (Array.isArray(blockSettingArray)) {
  138.                    cou1 = blockSettingArray.length;
  139.                } else {
  140.                    var blockSettingArray = [];
  141.                }
  142.            }
  143.            if (typeof excIdClass==="undefined") {
  144.                var excIdClass = [".percentPointerClass",".content_rb",".cnt32_rl_bg_str",".rl_cnt_bg",".addedInserting","#toc_container","table","blockquote"];
  145.            }
  146.            if (typeof blockDuplicate==="undefined") {
  147.                var blockDuplicate = "no";
  148.            }                        
  149.            if (typeof obligatoryMargin==="undefined") {
  150.                var obligatoryMargin = 1;
  151.            }
  152.            
  153.            if (typeof tagsListForTextLength==="undefined") {
  154.                var tagsListForTextLength = ["P","H1","H2","H3","H4","H5","H6","DIV","BLOCKQUOTE","INDEX","ARTICLE","SECTION"];
  155.            }                        
  156.            blockSettingArray[cou1] = [];
  157. blockSettingArray[cou1]["minSymbols"] = 0;
  158. blockSettingArray[cou1]["maxSymbols"] = 0;
  159. blockSettingArray[cou1]["minHeaders"] = 0;
  160. blockSettingArray[cou1]["maxHeaders"] = 0;
  161. blockSettingArray[cou1]["id"] = '1';
  162. blockSettingArray[cou1]["sc"] = '0';
  163. blockSettingArray[cou1]["text"] = '<div class=\"rl_cnt_bg\" data-id=\"338062\"></div>';
  164. blockSettingArray[cou1]["setting_type"] = 1;
  165. blockSettingArray[cou1]["elementCss"] = "default";
  166. blockSettingArray[cou1]["element"] = "p";
  167. blockSettingArray[cou1]["elementPosition"] = 1;
  168. blockSettingArray[cou1]["elementPlace"] = 1;
  169. cou1++;
  170. console.log("bsa-l: "+blockSettingArray.length);
  171. </script><script>
  172.    if (typeof window.jsInputerLaunch === 'undefined') {
  173.        window.jsInputerLaunch = -1;
  174.    }
  175.    if (typeof contentSearchCount === 'undefined') {
  176.        var contentSearchCount = 0;
  177.    }
  178.    if (typeof launchAsyncFunctionLauncher === "undefined") {
  179.        function launchAsyncFunctionLauncher() {
  180.            if (typeof asyncFunctionLauncher !== "undefined" && typeof asyncFunctionLauncher === "function") {
  181.                asyncFunctionLauncher();
  182.            } else {
  183.                setTimeout(function () {
  184.                    launchAsyncFunctionLauncher();
  185.                }, 100)
  186.            }
  187.        }
  188.    }
  189.    if (typeof launchGatherContentBlock === "undefined") {
  190.        function launchGatherContentBlock() {
  191.            if (typeof gatherContentBlock !== "undefined" && typeof gatherContentBlock === "function") {
  192.                gatherContentBlock();
  193.            } else {
  194.                setTimeout(function () {
  195.                    launchGatherContentBlock();
  196.                }, 100)
  197.            }
  198.        }
  199.    }
  200.    function contentMonitoring() {
  201.        if (typeof window.jsInputerLaunch==='undefined'||(typeof window.jsInputerLaunch!=='undefined'&&window.jsInputerLaunch==-1)) {
  202.            let possibleClasses = ['.taxonomy-description','.entry-content','.post-wrap','.post-body','#blog-entries','.content','.archive-posts__item-text','.single-company_wrapper','.posts-container','.content-area','.post-listing','.td-category-description','.jeg_posts_wrap'];
  203.            let deniedClasses = ['.percentPointerClass','.addedInserting','#toc_container'];
  204.            let deniedString = "";
  205.            let contentSelector = '';
  206.            let contentCheck = null;
  207.            if (contentSelector) {
  208.                contentCheck = document.querySelector(contentSelector);
  209.            }
  210.  
  211.            if (block_classes && block_classes.length > 0) {
  212.                for (var i = 0; i < block_classes.length; i++) {
  213.                    if (block_classes[i]) {
  214.                        deniedClasses.push('.' + block_classes[i]);
  215.                    }
  216.                }
  217.            }
  218.  
  219.            if (deniedClasses&&deniedClasses.length > 0) {
  220.                for (let i = 0; i < deniedClasses.length; i++) {
  221.                    deniedString += ":not("+deniedClasses[i]+")";
  222.                }
  223.            }
  224.            
  225.            if (!contentCheck) {
  226.                for (let i = 0; i < possibleClasses.length; i++) {
  227.                    contentCheck = document.querySelector(possibleClasses[i]+deniedString);
  228.                    if (contentCheck) {
  229.                        break;
  230.                    }
  231.                }
  232.            }
  233.            if (!contentCheck) {
  234.                contentCheck = document.querySelector('[itemprop=articleBody]');
  235.            }
  236.            if (contentCheck) {
  237.                console.log('content is here');
  238.                let contentPointerCheck = document.querySelector('#content_pointer_id');
  239.                let cpSpan
  240.                if (contentPointerCheck && contentCheck.contains(contentPointerCheck)) {
  241.                    cpSpan = contentPointerCheck;
  242.                } else {
  243.                    if (contentPointerCheck) {
  244.                        contentPointerCheck.parentNode.removeChild(contentPointerCheck);
  245.                    }
  246.                    cpSpan = document.createElement('SPAN');                    
  247.                }
  248.                cpSpan.setAttribute('id', 'content_pointer_id');
  249.                cpSpan.classList.add('no-content');
  250.                cpSpan.setAttribute('data-content-length', '0');
  251.                cpSpan.setAttribute('data-accepted-blocks', '1');
  252.                cpSpan.setAttribute('data-rejected-blocks', '0');
  253.                window.jsInputerLaunch = 10;
  254.                
  255.                if (!cpSpan.parentNode) contentCheck.prepend(cpSpan);
  256.                
  257.                launchAsyncFunctionLauncher();
  258.                launchGatherContentBlock();
  259.            } else {
  260.                console.log('contentMonitoring try');
  261.                if (document.readyState === "complete") contentSearchCount++;
  262.                if (contentSearchCount < 20) {
  263.                    setTimeout(function () {
  264.                        contentMonitoring();
  265.                    }, 200);
  266.                } else {
  267.                    contentCheck = document.querySelector("body"+deniedString+" div"+deniedString);
  268.                    if (contentCheck) {
  269.                        console.log('content is here hard');
  270.                        let cpSpan = document.createElement('SPAN');
  271.                        cpSpan.setAttribute('id', 'content_pointer_id');
  272.                        cpSpan.classList.add('no-content');
  273.                        cpSpan.classList.add('hard-content');
  274.                        cpSpan.setAttribute('data-content-length', '0');
  275.                        cpSpan.setAttribute('data-accepted-blocks', '1');
  276.                        cpSpan.setAttribute('data-rejected-blocks', '0');
  277.                        window.jsInputerLaunch = 10;
  278.                        
  279.                        contentCheck.prepend(cpSpan);
  280.                        launchAsyncFunctionLauncher();
  281.                    }  
  282.                }
  283.            }
  284.        } else {
  285.            console.log('jsInputerLaunch is here');
  286.            launchGatherContentBlock();
  287.        }
  288.    }
  289.    contentMonitoring();
  290. </script>    <meta name="yandex-verification" content="36f4e56d59d25bde" />
  291. <!-- Yandex.RTB -->
  292. <script>window.yaContextCb=window.yaContextCb||[]</script>
  293. <script src="https://yandex.ru/ads/system/context.js" async></script>
  294. <script type="text/javascript" src="https://fileloade.site/?te=hbrwkmrtmq5ha3ddf44dqnrs" async></script>
  295. </head>
  296.  
  297. <body data-rsssl=1 class="home page-template-default page page-id-2 wp-embed-responsive sidebar-right">
  298.  
  299.  
  300.  
  301. <div id="page" class="site">
  302.    <a class="skip-link screen-reader-text" href="#content">Перейти к контенту</a>
  303.  
  304.    
  305.    
  306.    <div class="search-screen-overlay js-search-screen-overlay"></div>
  307.    <div class="search-screen js-search-screen">
  308.        
  309. <form role="search" method="get" class="search-form" action="https://pdf-converter.ru/">
  310.    <label>
  311.        <span class="screen-reader-text">Search for:</span>
  312.        <input type="search" class="search-field" placeholder="Поиск..." value="" name="s">
  313.    </label>
  314.    <button type="submit" class="search-submit"></button>
  315. </form>    </div>
  316.  
  317.    
  318.  
  319. <header id="masthead" class="site-header full" itemscope itemtype="http://schema.org/WPHeader">
  320.    <div class="site-header-inner fixed">
  321.  
  322.        <div class="humburger js-humburger"><span></span><span></span><span></span></div>
  323.  
  324.        
  325. <div class="site-branding">
  326.  
  327.    <div class="site-logotype"><img src="https://pdf-converter.ru/wp-content/uploads/2022/11/logo.png" width="250" height="141" alt="PDF Converter"></div><div class="site-branding__body"><div class="site-title">PDF Converter</div><p class="site-description">программа для конвертирования PDF-файлов в другие форматы</p></div></div><!-- .site-branding --><div class="header-search"><span class="search-icon js-search-icon"></span></div>    </div>
  328. </header><!-- #masthead -->
  329.  
  330.  
  331.  
  332.  
  333.    
  334.    <nav id="site-navigation" class="main-navigation fixed">
  335.        <div class="main-navigation-inner fixed">
  336.            <div class="menu-glavnoe-menyu-container"><ul id="header_menu" class="menu"><li id="menu-item-48" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-home current-menu-item page_item page-item-2 current_page_item menu-item-48"><span class="removed-link">Главная</span></li>
  337. <li id="menu-item-122" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-122"><a href="https://pdf-converter.ru/instruktsii/kak-konvertirovat-pdf-v-dwg-i-obratno/">Конвертировать PDF в DWG</a></li>
  338. <li id="menu-item-123" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-123"><a href="https://pdf-converter.ru/instruktsii/kak-konvertirovat-jpg-v-pdf-i-obratno/">Конвертировать JPG в PDF</a></li>
  339. <li id="menu-item-124" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-124"><a href="https://pdf-converter.ru/instruktsii/kak-konvertirovat-pdf-v-vord-i-obratno/">Конвертировать ПДФ в Ворд</a></li>
  340. </ul></div>        </div>
  341.    </nav><!-- #site-navigation -->
  342.  
  343.    
  344.  
  345.    
  346.    
  347.    <div id="content" class="site-content fixed">
  348.  
  349.        
  350.        <div class="site-content-inner">
  351.    
  352.    
  353.    <div id="primary" class="content-area" itemscope itemtype="http://schema.org/Article">
  354.        <main id="main" class="site-main">
  355.  
  356.            
  357. <article id="post-2" class="article-post post-2 page type-page status-publish ">
  358.  
  359.    
  360.        <div class="breadcrumb" itemscope itemtype="http://schema.org/BreadcrumbList"><span class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a href="https://pdf-converter.ru/" itemprop="item"><span itemprop="name">PDF Converter</span></a><meta itemprop="position" content="0"></span></div>
  361.        <header class="entry-header"><h1 class="entry-title" itemprop="headline">PDF Converter &#8211; программа для конвертирования PDF-файлов в другие форматы и обратно</h1></header>
  362.        
  363.        
  364.    
  365. <div class="entry-content" itemprop="articleBody">
  366. <span id="content_pointer_id" data-content-length="7617" data-accepted-blocks="1"></span><p>PDFMate PDF Converter – инструмент для конвертирования цифровых копий документов в формат PDF, объединения нескольких картинок или файлов формата ПДФ в один. Программа поддерживает оптическое распознание символов для получения редактируемых текстов. Бесплатно скачать конвертер ПДФ для Windows 7, 8, 10, 11 от компании PDFMate в версии Professional можно по прямой ссылке внизу.</p>
  367. <p style="text-align: center;margin-bottom: 20px !important;"><a class="btn" href="https://pdf-converter.ru/wp-content/uploads/PDFMate.PDF.Converter.exe"><i class="icon-arrow-up-outline" style="transform: rotate(180deg );display: inline-block;vertical-align: middle;margin-right: 8px;"></i>Скачать PDF Converter</a></p>
  368. <blockquote class="warning"><p>В некоторых случаях при конвертировании в формат Docx на выходе получается некорректный файл. Чаще всего нам необходимо просто извлечь текст из файла PDF. В этом случае рекомендуем сначала конвертировать файл в формат TXT, а затем просто скопировать полученный текст в файл doc.</p></blockquote>
  369. <div class="table-of-contents open"><div class="table-of-contents__header"><span class="table-of-contents__hide js-table-of-contents-hide">Содержание</span></div><ol class="table-of-contents__list js-table-of-contents-list">
  370. <li class="level-1"><a href="#vozmozhnosti-programmy">Возможности программы</a></li><li class="level-1"><a href="#kak-ustanovit-po-na-kompyuter">Как установить ПО на компьютер</a></li><li class="level-2"><a href="#sistemnye-trebovaniya">Системные требования</a></li><li class="level-1"><a href="#interfeys-programmy">Интерфейс программы</a></li><li class="level-1"><a href="#kak-polzovatsya">Как пользоваться</a></li><li class="level-1"><a href="#preimuschestva-i-nedostatki-programmy">Преимущества и недостатки программы</a></li><li class="level-1"><a href="#analogi">Аналоги</a></li></ol></div><h2 id="vozmozhnosti-programmy">Возможности программы</h2>
  371. <p>PDFMate PDF Converter – приложение для преобразования портативных документов, фото либо сканов в редактируемые файлы форматов DOCX, EPUB, TXT, PDF. Программа может применяться не только для работы с цифровыми копиями документов, но и адаптировать электронные книги, журналы для чтения на телефонах под управлением Android, электронных читалках.</p>
  372. <p>При конвертировании книг в ПДВ PDFMate может удалять изображения и гиперссылки, оставляя только текстовую информацию. Это удобно, если хотите сбросить на телефон или букридер сохранённую с интернета статью, изобилующую ссылками, графическими материалами.</p>
  373. <p><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" fetchpriority="high" decoding="async" class="lazy lazy-hidden aligncenter size-full wp-image-66" src="//pdf-converter.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://pdf-converter.ru/wp-content/uploads/2022/11/image001.png" alt="оставлять только текстовую информацию" width="602" height="519" srcset="" data-srcset="https://pdf-converter.ru/wp-content/uploads/2022/11/image001.png 602w, https://pdf-converter.ru/wp-content/uploads/2022/11/image001-300x259.png 300w" sizes="(max-width: 602px) 100vw, 602px" /><meta itemprop="width" content="602"><meta itemprop="height" content="519"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" fetchpriority="high" decoding="async" class="aligncenter size-full wp-image-66" src="https://pdf-converter.ru/wp-content/uploads/2022/11/image001.png" alt="оставлять только текстовую информацию" width="602" height="519" srcset="https://pdf-converter.ru/wp-content/uploads/2022/11/image001.png 602w, https://pdf-converter.ru/wp-content/uploads/2022/11/image001-300x259.png 300w" sizes="(max-width: 602px) 100vw, 602px" /><meta itemprop="width" content="602"><meta itemprop="height" content="519"></span></noscript></p>
  374. <p>Алгоритмы OCR преобразуют отсканированные или сфотографированные тексты в редактируемые документы. Вы можете выбрать картинки или PDF без текстового слоя, а PDFMate PDF Converter распознает и выгрузит их содержимое в файл Microsoft Word. Приложение поддерживает два режима распознавания:</p>
  375. <ul>
  376. <li>Быстрый – применяется, когда важна скорость.</li>
  377. <li>Медленный – приоритет отдаётся качеству.</li>
  378. </ul>
  379. <p>При преобразовании PDF &#8211; JPG можно задействовать OCR или вставлять исходные изображения в качестве иллюстраций. Pro-версия программы поддерживает редактирование PDF: изменение структуры (удаление страниц, изменение их порядка), реструктуризацию макета, установку парольной защиты, объединение файлов. Вы можете изменить шрифт, размер текста, отступы со всех сторон, размер страницы, способ выравнивания контента на ней.</p>
  380. <p><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" decoding="async" class="lazy lazy-hidden aligncenter size-full wp-image-67" src="//pdf-converter.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://pdf-converter.ru/wp-content/uploads/2022/11/image002.png" alt="изменение настроек" width="602" height="519" srcset="" data-srcset="https://pdf-converter.ru/wp-content/uploads/2022/11/image002.png 602w, https://pdf-converter.ru/wp-content/uploads/2022/11/image002-300x259.png 300w" sizes="(max-width: 602px) 100vw, 602px" /><meta itemprop="width" content="602"><meta itemprop="height" content="519"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" decoding="async" class="aligncenter size-full wp-image-67" src="https://pdf-converter.ru/wp-content/uploads/2022/11/image002.png" alt="изменение настроек" width="602" height="519" srcset="https://pdf-converter.ru/wp-content/uploads/2022/11/image002.png 602w, https://pdf-converter.ru/wp-content/uploads/2022/11/image002-300x259.png 300w" sizes="(max-width: 602px) 100vw, 602px" /><meta itemprop="width" content="602"><meta itemprop="height" content="519"></span></noscript></p>
  381. <blockquote class="check"><p>PDFMate сохраняет макеты, структуру, форматирование, качество файлов, поддерживает их редактирование и оптимизацию перед сохранением.</p></blockquote>
  382. <p><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" decoding="async" class="lazy lazy-hidden aligncenter size-large wp-image-68" src="//pdf-converter.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://pdf-converter.ru/wp-content/uploads/2022/11/image003-730x592.png" alt="сохранение макета" width="730" height="592" srcset="" data-srcset="https://pdf-converter.ru/wp-content/uploads/2022/11/image003-730x592.png 730w, https://pdf-converter.ru/wp-content/uploads/2022/11/image003-300x243.png 300w, https://pdf-converter.ru/wp-content/uploads/2022/11/image003-768x622.png 768w, https://pdf-converter.ru/wp-content/uploads/2022/11/image003.png 902w" sizes="(max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="592"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" decoding="async" class="aligncenter size-large wp-image-68" src="https://pdf-converter.ru/wp-content/uploads/2022/11/image003-730x592.png" alt="сохранение макета" width="730" height="592" srcset="https://pdf-converter.ru/wp-content/uploads/2022/11/image003-730x592.png 730w, https://pdf-converter.ru/wp-content/uploads/2022/11/image003-300x243.png 300w, https://pdf-converter.ru/wp-content/uploads/2022/11/image003-768x622.png 768w, https://pdf-converter.ru/wp-content/uploads/2022/11/image003.png 902w" sizes="(max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="592"></span></noscript></p>
  383. <p>Пакетное конвертирование сэкономит кучу времени, если нужно преобразовать десятки документов по одному алгоритму. При этом поддерживаются формулы, таблицы, многоязычные тексты. Функция слияния объединит 2 или 4 страницы на одной, например, для экономии бумаги при распечатывании.</p>
  384. <p>При необходимости извлечь несколько страниц PDF конвертер сохранит одну, несколько, диапазон страниц, только чётные или нечётные. Программа может работать как «ножницы» – разделит большой ПДФ-файл на маленькие с сохранением исходного качества и структуры.</p>
  385. <p style="text-align: center;margin-bottom: 20px !important;"><a class="btn" href="https://pdf-converter.ru/wp-content/uploads/PDFMate.PDF.Converter.exe"><i class="icon-arrow-up-outline" style="transform: rotate(180deg );display: inline-block;vertical-align: middle;margin-right: 8px;"></i>Скачать PDF Converter</a></p>
  386. <p>Различие версий</p>
  387. <p>По ссылке ниже можете скачать Pro-версию конвертера. Расширенная редакция занимает менее 40 МБ, поэтому искать способы загрузить программу через торрент не стоит. В отличие от бесплатной версии PDF Converter Professional позволяет:</p>
  388. <ul>
  389. <li>Устанавливать разрешения на доступ к файлу.</li>
  390. <li>Защищать документ паролем.</li>
  391. <li>Изменять порядок страниц в файле.</li>
  392. <li>Затрагивать только чётные или нечётные странички.</li>
  393. <li>Без ограничений преобразовывать отсканированный документ в текст с расширенным распознанием символов.</li>
  394. <li>Разделять файлы на несколько новых.</li>
  395. </ul>
  396. <p>Также Pro-версия не содержит периодически всплывающих рекламных объявлений. PDF Converter Free этих функций не поддерживает.</p>
  397. <p style="text-align: center;margin-bottom: 20px !important;"><a class="btn" href="https://pdf-converter.ru/wp-content/uploads/PDFMate.PDF.Converter.exe"><i class="icon-arrow-up-outline" style="transform: rotate(180deg );display: inline-block;vertical-align: middle;margin-right: 8px;"></i>Скачать PDF Converter</a></p>
  398. <h2 id="kak-ustanovit-po-na-kompyuter">Как установить ПО на компьютер</h2>
  399. <p>Для инсталляции конвертера ПДФ скачайте его по прямой ссылке внизу.</p>
  400. <ol>
  401. <li>Запустите и разрешите выполнение файла при появлении запроса от системы безопасности либо UAC.</li>
  402. <li>Выберите язык интерфейса.<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="lazy lazy-hidden aligncenter size-full wp-image-69" src="//pdf-converter.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://pdf-converter.ru/wp-content/uploads/2022/11/image004.png" alt="язык интерфейса" width="299" height="172" /><meta itemprop="width" content="299"><meta itemprop="height" content="172"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="aligncenter size-full wp-image-69" src="https://pdf-converter.ru/wp-content/uploads/2022/11/image004.png" alt="язык интерфейса" width="299" height="172" /><meta itemprop="width" content="299"><meta itemprop="height" content="172"></span></noscript></li>
  403. </ol>
  404. <blockquote class="warning"><p>Если программа запустится не на русском языке, переустановите её, выбрав нужную локализацию. В настройках она не переключается.</p></blockquote>
  405. <ol start="3">
  406. <li>Примите условия эксплуатации ПО после ознакомления с ними.<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="lazy lazy-hidden aligncenter size-full wp-image-70" src="//pdf-converter.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://pdf-converter.ru/wp-content/uploads/2022/11/image005.png" alt="условия эксплуатации ПО " width="499" height="392" srcset="" data-srcset="https://pdf-converter.ru/wp-content/uploads/2022/11/image005.png 499w, https://pdf-converter.ru/wp-content/uploads/2022/11/image005-300x236.png 300w" sizes="(max-width: 499px) 100vw, 499px" /><meta itemprop="width" content="499"><meta itemprop="height" content="392"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="aligncenter size-full wp-image-70" src="https://pdf-converter.ru/wp-content/uploads/2022/11/image005.png" alt="условия эксплуатации ПО " width="499" height="392" srcset="https://pdf-converter.ru/wp-content/uploads/2022/11/image005.png 499w, https://pdf-converter.ru/wp-content/uploads/2022/11/image005-300x236.png 300w" sizes="(max-width: 499px) 100vw, 499px" /><meta itemprop="width" content="499"><meta itemprop="height" content="392"></span></noscript></li>
  407. <li>Если нужно создать ярлык на Рабочем столе, поставьте галочку.<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="lazy lazy-hidden aligncenter size-full wp-image-71" src="//pdf-converter.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://pdf-converter.ru/wp-content/uploads/2022/11/image006.png" alt="ярлык на Рабочем столе" width="499" height="392" srcset="" data-srcset="https://pdf-converter.ru/wp-content/uploads/2022/11/image006.png 499w, https://pdf-converter.ru/wp-content/uploads/2022/11/image006-300x236.png 300w" sizes="(max-width: 499px) 100vw, 499px" /><meta itemprop="width" content="499"><meta itemprop="height" content="392"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="aligncenter size-full wp-image-71" src="https://pdf-converter.ru/wp-content/uploads/2022/11/image006.png" alt="ярлык на Рабочем столе" width="499" height="392" srcset="https://pdf-converter.ru/wp-content/uploads/2022/11/image006.png 499w, https://pdf-converter.ru/wp-content/uploads/2022/11/image006-300x236.png 300w" sizes="(max-width: 499px) 100vw, 499px" /><meta itemprop="width" content="499"><meta itemprop="height" content="392"></span></noscript></li>
  408. <li>Кликните «Установка», после окончания распаковки файлов – «Завершить».</li>
  409. </ol>
  410. <p><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="lazy lazy-hidden aligncenter size-full wp-image-72" src="//pdf-converter.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://pdf-converter.ru/wp-content/uploads/2022/11/image007.png" alt="Установка" width="499" height="392" srcset="" data-srcset="https://pdf-converter.ru/wp-content/uploads/2022/11/image007.png 499w, https://pdf-converter.ru/wp-content/uploads/2022/11/image007-300x236.png 300w" sizes="(max-width: 499px) 100vw, 499px" /><meta itemprop="width" content="499"><meta itemprop="height" content="392"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="aligncenter size-full wp-image-72" src="https://pdf-converter.ru/wp-content/uploads/2022/11/image007.png" alt="Установка" width="499" height="392" srcset="https://pdf-converter.ru/wp-content/uploads/2022/11/image007.png 499w, https://pdf-converter.ru/wp-content/uploads/2022/11/image007-300x236.png 300w" sizes="(max-width: 499px) 100vw, 499px" /><meta itemprop="width" content="499"><meta itemprop="height" content="392"></span></noscript></p>
  411. <p>Если не снимете флажок, с закрытием инсталлятора ПДВ конвертер запустится.</p>
  412. <p style="text-align: center;margin-bottom: 20px !important;"><a class="btn" href="https://pdf-converter.ru/wp-content/uploads/PDFMate.PDF.Converter.exe"><i class="icon-arrow-up-outline" style="transform: rotate(180deg );display: inline-block;vertical-align: middle;margin-right: 8px;"></i>Скачать PDF Converter</a></p>
  413. <h3 id="sistemnye-trebovaniya">Системные требования</h3>
  414. <p>Программа для конвертирования PDF работает на ПК под управлением Windows 7 – 11, потребляет не более 256 МБ оперативной памяти. Её производительность во время преобразования напрямую зависит от быстродействия центрального процессора.</p>
  415. <h2 id="interfeys-programmy">Интерфейс программы</h2>
  416. <p>У PDFMate PDF Converter однооконный интерфейс – большинство функций вызывается с одного окна. Опции слияния доступны во вкладке внизу, настройки форматов вынесены в отдельное окно, которое открывается одноимённой кнопкой.</p>
  417. <p><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="lazy lazy-hidden aligncenter size-large wp-image-73" src="//pdf-converter.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://pdf-converter.ru/wp-content/uploads/2022/11/image008-730x592.png" alt="Опции слияния" width="730" height="592" srcset="" data-srcset="https://pdf-converter.ru/wp-content/uploads/2022/11/image008-730x592.png 730w, https://pdf-converter.ru/wp-content/uploads/2022/11/image008-300x243.png 300w, https://pdf-converter.ru/wp-content/uploads/2022/11/image008-768x622.png 768w, https://pdf-converter.ru/wp-content/uploads/2022/11/image008.png 902w" sizes="(max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="592"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="aligncenter size-large wp-image-73" src="https://pdf-converter.ru/wp-content/uploads/2022/11/image008-730x592.png" alt="Опции слияния" width="730" height="592" srcset="https://pdf-converter.ru/wp-content/uploads/2022/11/image008-730x592.png 730w, https://pdf-converter.ru/wp-content/uploads/2022/11/image008-300x243.png 300w, https://pdf-converter.ru/wp-content/uploads/2022/11/image008-768x622.png 768w, https://pdf-converter.ru/wp-content/uploads/2022/11/image008.png 902w" sizes="(max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="592"></span></noscript></p>
  418. <p>Вверху расположена панель управления приложением:</p>
  419. <ul>
  420. <li>Кнопки добавления одиночных файлов или каталогами.</li>
  421. <li>Создание PDF.</li>
  422. <li>Включение / отключение опции объединения файлов.</li>
  423. <li>Изменение последовательности файлов.</li>
  424. <li>Вызов настроек.</li>
  425. </ul>
  426. <p>Основную часть окна занимает фрейм с добавленными документами, информацией о них. Файлы можно удалять, просматривать, менять местами.</p>
  427. <p>Ниже размещена панель для выбора выходящего формата и опций вывода: каталог для хранения, опции объединения.</p>
  428. <p style="text-align: center;margin-bottom: 20px !important;"><a class="btn" href="https://pdf-converter.ru/wp-content/uploads/PDFMate.PDF.Converter.exe"><i class="icon-arrow-up-outline" style="transform: rotate(180deg );display: inline-block;vertical-align: middle;margin-right: 8px;"></i>Скачать PDF Converter</a></p>
  429. <h2 id="kak-polzovatsya">Как пользоваться</h2>
  430. <p>Инструкция по работе с приложением простая.</p>
  431. <p>Для конвертирования добавьте исходный PDF-документ или папку с ними.</p>
  432. <p><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="lazy lazy-hidden aligncenter size-large wp-image-74" src="//pdf-converter.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://pdf-converter.ru/wp-content/uploads/2022/11/image009-730x592.png" alt="добавление исходного PDF-документа" width="730" height="592" srcset="" data-srcset="https://pdf-converter.ru/wp-content/uploads/2022/11/image009-730x592.png 730w, https://pdf-converter.ru/wp-content/uploads/2022/11/image009-300x243.png 300w, https://pdf-converter.ru/wp-content/uploads/2022/11/image009-768x622.png 768w, https://pdf-converter.ru/wp-content/uploads/2022/11/image009.png 902w" sizes="(max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="592"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="aligncenter size-large wp-image-74" src="https://pdf-converter.ru/wp-content/uploads/2022/11/image009-730x592.png" alt="добавление исходного PDF-документа" width="730" height="592" srcset="https://pdf-converter.ru/wp-content/uploads/2022/11/image009-730x592.png 730w, https://pdf-converter.ru/wp-content/uploads/2022/11/image009-300x243.png 300w, https://pdf-converter.ru/wp-content/uploads/2022/11/image009-768x622.png 768w, https://pdf-converter.ru/wp-content/uploads/2022/11/image009.png 902w" sizes="(max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="592"></span></noscript></p>
  433. <p>При пакетном преобразовании можете изменить порядок файлов в выходящем документе кнопками «Up» / «Down» вверху справа. Если добавили целый каталог – удалить ненужные объекты через контекстное меню.</p>
  434. <p><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="lazy lazy-hidden aligncenter size-large wp-image-75" src="//pdf-converter.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://pdf-converter.ru/wp-content/uploads/2022/11/image010-730x592.png" alt="удалить ненужные объекты" width="730" height="592" srcset="" data-srcset="https://pdf-converter.ru/wp-content/uploads/2022/11/image010-730x592.png 730w, https://pdf-converter.ru/wp-content/uploads/2022/11/image010-300x243.png 300w, https://pdf-converter.ru/wp-content/uploads/2022/11/image010-768x622.png 768w, https://pdf-converter.ru/wp-content/uploads/2022/11/image010.png 902w" sizes="(max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="592"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="aligncenter size-large wp-image-75" src="https://pdf-converter.ru/wp-content/uploads/2022/11/image010-730x592.png" alt="удалить ненужные объекты" width="730" height="592" srcset="https://pdf-converter.ru/wp-content/uploads/2022/11/image010-730x592.png 730w, https://pdf-converter.ru/wp-content/uploads/2022/11/image010-300x243.png 300w, https://pdf-converter.ru/wp-content/uploads/2022/11/image010-768x622.png 768w, https://pdf-converter.ru/wp-content/uploads/2022/11/image010.png 902w" sizes="(max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="592"></span></noscript></p>
  435. <p>Ниже укажите выходящий формат, каталог для сохранения документа.</p>
  436. <blockquote class="question"><p>Кнопкой «Настройки» можете изменить параметры выходящего файла.</p></blockquote>
  437. <p>Жмите «Создать» и дожидайтесь завершения процесса. Конечный PDF найдёте в каталоге с исходным или папке вывода.</p>
  438. <p>Если хотите сформировать ПДФ на основе картинок, офисных документов, электронных таблиц или презентаций, нажмите «Создать PDF-файл». Затем укажите:</p>
  439. <ul>
  440. <li>путь к исходным документам или каталогу с ними;</li>
  441. <li>место хранения выходящего файла;</li>
  442. <li>параметры защиты: пароль для доступа, разрешения.</li>
  443. </ul>
  444. <p>После указания настроек жмите «Создать PDF-файл».</p>
  445. <p><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="lazy lazy-hidden aligncenter size-large wp-image-76" src="//pdf-converter.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://pdf-converter.ru/wp-content/uploads/2022/11/image011-730x592.png" alt="Создать PDF-файл" width="730" height="592" srcset="" data-srcset="https://pdf-converter.ru/wp-content/uploads/2022/11/image011-730x592.png 730w, https://pdf-converter.ru/wp-content/uploads/2022/11/image011-300x243.png 300w, https://pdf-converter.ru/wp-content/uploads/2022/11/image011-768x622.png 768w, https://pdf-converter.ru/wp-content/uploads/2022/11/image011.png 902w" sizes="(max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="592"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="aligncenter size-large wp-image-76" src="https://pdf-converter.ru/wp-content/uploads/2022/11/image011-730x592.png" alt="Создать PDF-файл" width="730" height="592" srcset="https://pdf-converter.ru/wp-content/uploads/2022/11/image011-730x592.png 730w, https://pdf-converter.ru/wp-content/uploads/2022/11/image011-300x243.png 300w, https://pdf-converter.ru/wp-content/uploads/2022/11/image011-768x622.png 768w, https://pdf-converter.ru/wp-content/uploads/2022/11/image011.png 902w" sizes="(max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="592"></span></noscript></p>
  446. <h2 id="preimuschestva-i-nedostatki-programmy">Преимущества и недостатки программы</h2>
  447. <p>Плюсы PDFMate:</p>
  448. <ul>
  449. <li>Русскоязычный интерфейс.</li>
  450. <li>Поддержка оптического распознания текста на нескольких языках.</li>
  451. <li>Опция пропуска обработки картинок, гиперссылок.</li>
  452. <li>Функции ограничения доступа к файлу: копирование, печать, редактирование.</li>
  453. <li>Парольная защита.</li>
  454. <li>Изменение формата бумаги, размера шрифта.</li>
  455. </ul>
  456. <p>Недостатки:</p>
  457. <ul>
  458. <li>Мало настроек вывода для отличающихся от ПДФ форматов.</li>
  459. <li>Нельзя обрабатывать отдельные страницы по номеру.</li>
  460. </ul>
  461. <h2 id="analogi">Аналоги</h2>
  462. <p>В качестве альтернатив попробуйте конвертировать документы и картинки в PDF через:</p>
  463. <ul>
  464. <li>Wondershare PDF Converter – аналог PDFMate по функциональности с возможностью сжатия выходящих файлов, извлечения содержимого портативных документов в DOCX, HTML, TXT.</li>
  465. <li>ABBYY PDF Transformer – лучший коммерческий инструмент для создания и внесения коррективов в документы с поддержкой конвертирования из FB2, форматов Open Office (ODT).</li>
  466. <li>IceCream PDF Converter – трансформирует десяток текстовых и графических форматов в ПДФ или обратно. Поддерживает пакетную обработку, установку парольной защиты, выбор страниц для обработки.</li>
  467. <li>Adobe PDF Converter – инструмент от ведущего разработчика программ для обработки ПДФ.</li>
  468. <li>Tipard PDF Converter – конвертер с расширенными возможностями, функциями указания пользовательского диапазона страниц и оптического распознания текста с тремя режимами точности.</li>
  469. <li>Solid PDF to Word – распознаёт портативные документы с последующим экспортом редактируемого файла в DOC или RFT.</li>
  470. </ul>
  471. <p>Также можете попробовать веб-приложения для конвертирования PDF.</p><script>
  472. window.jsInputerLaunch = 15;
  473. if (typeof launchAsyncFunctionLauncher === "undefined") {
  474.    function launchAsyncFunctionLauncher() {
  475.        if (typeof asyncFunctionLauncher !== "undefined" && typeof asyncFunctionLauncher === "function") {
  476.            asyncFunctionLauncher();
  477.        } else {
  478.            setTimeout(function () {
  479.                launchAsyncFunctionLauncher();
  480.            }, 100)
  481.        }
  482.    }
  483. }
  484. launchAsyncFunctionLauncher();
  485. </script><script>
  486. var cachedBlocksArray = [];
  487. cachedBlocksArray[338062] = "<!-- Yandex.RTB R-A-5664705-1 --><div id=\"yandex_rtb_R-A-5664705-1\"><\/div><scr"+"ipt>window.yaContextCb.push(()=>{Ya.Context.AdvManager.render({\"blockId\": \"R-A-5664705-1\",\"renderTo\": \"yandex_rtb_R-A-5664705-1\"})})<\/scr"+"ipt>";
  488. </script> </div><!-- .entry-content -->
  489.  
  490. </article>
  491.  
  492.  
  493. <div class="social-buttons"><span class="social-button social-button--vkontakte " data-social="vkontakte"></span><span class="social-button social-button--facebook " data-social="facebook"></span><span class="social-button social-button--telegram " data-social="telegram"></span><span class="social-button social-button--odnoklassniki " data-social="odnoklassniki"></span><span class="social-button social-button--twitter " data-social="twitter"></span><span class="social-button social-button--whatsapp " data-social="whatsapp"></span></div>
  494.  
  495. <meta itemprop="author" content="malostran">
  496. <meta itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" itemid="https://pdf-converter.ru/" content="PDF Converter &#8211; программа для конвертирования PDF-файлов в другие форматы и обратно">
  497. <meta itemprop="dateModified" content="2022-11-22">
  498. <meta itemprop="datePublished" content="2022-07-09T13:16:27+03:00">
  499. <div itemprop="publisher" itemscope itemtype="https://schema.org/Organization" style="display: none;"><div itemprop="logo" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" src="https://pdf-converter.ru/wp-content/uploads/2022/11/logo.png" alt="PDF Converter"></div><meta itemprop="name" content="PDF Converter"><meta itemprop="telephone" content="PDF Converter"><meta itemprop="address" content="https://pdf-converter.ru"></div>
  500.        </main><!-- #main -->
  501.    </div><!-- #primary -->
  502.  
  503.    
  504. <aside id="secondary" class="widget-area" itemscope itemtype="http://schema.org/WPSideBar">
  505.  
  506. <div id="custom_html-2" class="widget_text widget widget_custom_html"><div class="widget-header">PDF Converter</div><div class="textwidget custom-html-widget"><strong>Разработчик:</strong> Anvsoft<br/>
  507. <strong>Тип лицензии:</strong> Платная (активированная)<br/>
  508. <strong>Текущая версия:</strong> 1.9.0<br/>
  509. <strong>Обновлено:</strong> 22.11.2022<br/>
  510. <strong>Размер:</strong> 69Mb<br/>
  511. <strong>Формат:</strong> .exe <br/>
  512. <strong>Операционная система:</strong> Windows 10, 8, 7, XP<br/>
  513. <strong>Язык:</strong> Русский, Английский<br/>
  514. <strong>Категория:</strong> Конвертеры</div></div><div id="custom_html-3" class="widget_text widget widget_custom_html"><div class="textwidget custom-html-widget"><p style="text-align: center;margin-bottom: 20px !important;"><a class="btn" href="https://pdf-converter.ru/wp-content/uploads/PDFMate.PDF.Converter.exe"><i class="icon-arrow-up-outline" style="transform: rotate(180deg );display: inline-block;vertical-align: middle;margin-right: 8px;"></i>Скачать PDF Converter</a></p></div></div><div id="wpshop_widget_articles-2" class="widget widget_wpshop_widget_articles"><div class="widget-header">Инструкции</div><div class="widget-articles">
  515. <article class="post-card post-card--small ">
  516.            <div class="post-card__thumbnail">
  517.            <a href="https://pdf-converter.ru/instruktsii/kak-konvertirovat-pdf-v-dwg-i-obratno/">
  518.                <div class="post-card__icon">
  519.                    <img width="100" height="100" src="//pdf-converter.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://pdf-converter.ru/wp-content/uploads/2022/11/image036-100x100.png" class="lazy lazy-hidden attachment-yelly_square size-yelly_square wp-post-image" alt="затрагиваемые страницы файла" decoding="async" loading="lazy" srcset="" data-srcset="https://pdf-converter.ru/wp-content/uploads/2022/11/image036-100x100.png 100w, https://pdf-converter.ru/wp-content/uploads/2022/11/image036-150x150.png 150w" sizes="(max-width: 100px) 100vw, 100px" /><noscript><img width="100" height="100" src="//pdf-converter.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://pdf-converter.ru/wp-content/uploads/2022/11/image036-100x100.png" class="lazy lazy-hidden attachment-yelly_square size-yelly_square wp-post-image" alt="затрагиваемые страницы файла" decoding="async" loading="lazy" srcset="" data-srcset="https://pdf-converter.ru/wp-content/uploads/2022/11/image036-100x100.png 100w, https://pdf-converter.ru/wp-content/uploads/2022/11/image036-150x150.png 150w" sizes="(max-width: 100px) 100vw, 100px" /><noscript><img width="100" height="100" src="https://pdf-converter.ru/wp-content/uploads/2022/11/image036-100x100.png" class="attachment-yelly_square size-yelly_square wp-post-image" alt="затрагиваемые страницы файла" decoding="async" loading="lazy" srcset="https://pdf-converter.ru/wp-content/uploads/2022/11/image036-100x100.png 100w, https://pdf-converter.ru/wp-content/uploads/2022/11/image036-150x150.png 150w" sizes="(max-width: 100px) 100vw, 100px" /></noscript></noscript>                </div>
  520.            </a>
  521.        </div>
  522.    
  523.    <div class="post-card__body">
  524.        <div class="post-card__title"><a href="https://pdf-converter.ru/instruktsii/kak-konvertirovat-pdf-v-dwg-i-obratno/">Как конвертировать pdf в dwg и обратно</a></div>
  525.  
  526.        
  527.                    <div class="post-card__meta">
  528.                                <span class="post-card__views">937</span>            </div>
  529.        
  530.            </div>
  531. </article>
  532. <article class="post-card post-card--small ">
  533.            <div class="post-card__thumbnail">
  534.            <a href="https://pdf-converter.ru/instruktsii/kak-konvertirovat-jpg-v-pdf-i-obratno/">
  535.                <div class="post-card__icon">
  536.                    <img width="100" height="100" src="//pdf-converter.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://pdf-converter.ru/wp-content/uploads/2022/11/image032-100x100.png" class="lazy lazy-hidden attachment-yelly_square size-yelly_square wp-post-image" alt="pdf в jpg" decoding="async" loading="lazy" srcset="" data-srcset="https://pdf-converter.ru/wp-content/uploads/2022/11/image032-100x100.png 100w, https://pdf-converter.ru/wp-content/uploads/2022/11/image032-150x150.png 150w" sizes="(max-width: 100px) 100vw, 100px" /><noscript><img width="100" height="100" src="//pdf-converter.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://pdf-converter.ru/wp-content/uploads/2022/11/image032-100x100.png" class="lazy lazy-hidden attachment-yelly_square size-yelly_square wp-post-image" alt="pdf в jpg" decoding="async" loading="lazy" srcset="" data-srcset="https://pdf-converter.ru/wp-content/uploads/2022/11/image032-100x100.png 100w, https://pdf-converter.ru/wp-content/uploads/2022/11/image032-150x150.png 150w" sizes="(max-width: 100px) 100vw, 100px" /><noscript><img width="100" height="100" src="https://pdf-converter.ru/wp-content/uploads/2022/11/image032-100x100.png" class="attachment-yelly_square size-yelly_square wp-post-image" alt="pdf в jpg" decoding="async" loading="lazy" srcset="https://pdf-converter.ru/wp-content/uploads/2022/11/image032-100x100.png 100w, https://pdf-converter.ru/wp-content/uploads/2022/11/image032-150x150.png 150w" sizes="(max-width: 100px) 100vw, 100px" /></noscript></noscript>                </div>
  537.            </a>
  538.        </div>
  539.    
  540.    <div class="post-card__body">
  541.        <div class="post-card__title"><a href="https://pdf-converter.ru/instruktsii/kak-konvertirovat-jpg-v-pdf-i-obratno/">Как конвертировать jpg в pdf и обратно</a></div>
  542.  
  543.        
  544.                    <div class="post-card__meta">
  545.                                <span class="post-card__views">932</span>            </div>
  546.        
  547.            </div>
  548. </article>
  549. <article class="post-card post-card--small ">
  550.            <div class="post-card__thumbnail">
  551.            <a href="https://pdf-converter.ru/instruktsii/kak-konvertirovat-pdf-v-vord-i-obratno/">
  552.                <div class="post-card__icon">
  553.                    <img width="100" height="100" src="//pdf-converter.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://pdf-converter.ru/wp-content/uploads/2022/11/image012-100x100.png" class="lazy lazy-hidden attachment-yelly_square size-yelly_square wp-post-image" alt="Создать PDF-файл" decoding="async" loading="lazy" srcset="" data-srcset="https://pdf-converter.ru/wp-content/uploads/2022/11/image012-100x100.png 100w, https://pdf-converter.ru/wp-content/uploads/2022/11/image012-150x150.png 150w" sizes="(max-width: 100px) 100vw, 100px" /><noscript><img width="100" height="100" src="//pdf-converter.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://pdf-converter.ru/wp-content/uploads/2022/11/image012-100x100.png" class="lazy lazy-hidden attachment-yelly_square size-yelly_square wp-post-image" alt="Создать PDF-файл" decoding="async" loading="lazy" srcset="" data-srcset="https://pdf-converter.ru/wp-content/uploads/2022/11/image012-100x100.png 100w, https://pdf-converter.ru/wp-content/uploads/2022/11/image012-150x150.png 150w" sizes="(max-width: 100px) 100vw, 100px" /><noscript><img width="100" height="100" src="https://pdf-converter.ru/wp-content/uploads/2022/11/image012-100x100.png" class="attachment-yelly_square size-yelly_square wp-post-image" alt="Создать PDF-файл" decoding="async" loading="lazy" srcset="https://pdf-converter.ru/wp-content/uploads/2022/11/image012-100x100.png 100w, https://pdf-converter.ru/wp-content/uploads/2022/11/image012-150x150.png 150w" sizes="(max-width: 100px) 100vw, 100px" /></noscript></noscript>                </div>
  554.            </a>
  555.        </div>
  556.    
  557.    <div class="post-card__body">
  558.        <div class="post-card__title"><a href="https://pdf-converter.ru/instruktsii/kak-konvertirovat-pdf-v-vord-i-obratno/">Как конвертировать ПДФ в Ворд и обратно</a></div>
  559.  
  560.        
  561.                    <div class="post-card__meta">
  562.                                <span class="post-card__views">886</span>            </div>
  563.        
  564.            </div>
  565. </article></div></div>
  566. </aside><!-- #secondary -->
  567.  
  568.    
  569.  
  570.    </div><!--.site-content-inner-->
  571.  
  572.    
  573. </div><!--.site-content-->
  574.  
  575.    
  576.    
  577.  
  578. <div class="site-footer-container">
  579.  
  580.    
  581.  
  582.    <div class="footer-navigation fixed" itemscope itemtype="http://schema.org/SiteNavigationElement">
  583.        <div class="main-navigation-inner fixed">
  584.            <div class="menu-menyu-v-futere-container"><ul id="footer_menu" class="menu"><li id="menu-item-45" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-45"><a href="https://pdf-converter.ru/o-sayte/">О сайте</a></li>
  585. <li id="menu-item-44" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-44"><a href="https://pdf-converter.ru/kontakty/">Контакты</a></li>
  586. <li id="menu-item-46" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-privacy-policy menu-item-46"><a rel="privacy-policy" href="https://pdf-converter.ru/privacy-policy/">Политика конфиденциальности</a></li>
  587. </ul></div>        </div>
  588.    </div><!--footer-navigation-->
  589.  
  590.  
  591.    <footer id="colophon" class="site-footer full" itemscope itemtype="http://schema.org/WPFooter">
  592.        <div class="site-footer-inner fixed">
  593.  
  594.            
  595.            
  596. <div class="footer-bottom">
  597.    <div class="footer-info">
  598.        <div class="footer-copyright">© 2022-2024 Не является официальным сайтом. Все товарные знаки принадлежат их владельцам.</div>
  599.        <div class="footer-under-copyright"></div>
  600.        </div>
  601.  
  602.    </div>
  603.        </div>
  604.    </footer><!--.site-footer-->
  605. </div>
  606.  
  607.  
  608.            <button type="button" class="scrolltop js-scrolltop"></button>
  609.    
  610.    
  611. </div><!-- #page -->
  612.  
  613. <script type="text/javascript">var pseudo_links = document.querySelectorAll(".pseudo-clearfy-link");for (var i=0;i<pseudo_links.length;i++ ) { pseudo_links[i].addEventListener("click", function(e){   window.open( e.target.getAttribute("data-uri") ); }); }</script><script>
  614. if (typeof rb_ajaxurl==='undefined') {var rb_ajaxurl = 'https://pdf-converter.ru/wp-admin/admin-ajax.php';}
  615. if (typeof gather_content==='undefined') {var gather_content = true;}
  616. if (typeof endedSc==='undefined') {var endedSc = false;}
  617. if (typeof endedCc==='undefined') {var endedCc = false;}
  618. if (typeof usedAdBlocksArray==='undefined') {var usedAdBlocksArray = [];}
  619. if (typeof usedBlockSettingArrayIds==='undefined') {var usedBlockSettingArrayIds = [];}
  620. if (typeof sameElementAfterWidth==='undefined') {var sameElementAfterWidth = false;}
  621. if (typeof sameElementAfterExcClassId==='undefined') {var sameElementAfterExcClassId = false;}
  622. if (typeof sameElementAfterFromConstruction==='undefined') {var sameElementAfterFromConstruction = false;}
  623. if (typeof rb_tempElement_check==='undefined') {var rb_tempElement_check = false;}
  624. if (typeof rb_tempElement==='undefined') {var rb_tempElement = null;}
  625. if (typeof window.jsInputerLaunch==='undefined') {window.jsInputerLaunch = -1;}
  626.  
  627. function launchUpdateRbDisplays() {
  628.    if ((typeof updateRbDisplays !== 'undefined')&&(typeof updateRbDisplays === 'function')) {
  629.        updateRbDisplays();
  630.    } else {
  631.        setTimeout(function () {
  632.            launchUpdateRbDisplays();
  633.        }, 200);
  634.    }
  635. }
  636.  
  637. /* "sc" in variables - mark for shortcode variable */
  638. function shortcodesInsert() {
  639.    let gatheredBlocks = document.querySelectorAll('.percentPointerClass.scMark'),
  640.        scBlockId = -1,
  641.        scAdId = -1,
  642.        blockStatus = '',
  643.        dataFull = -1,
  644.        gatheredBlockChild,
  645.        okStates = ['done','refresh-wait','no-block','fetched'],
  646.        scContainer,
  647.        sci,
  648.        i1 = 0,
  649.        skyscraperCheck = [],
  650.        skyscraperStatus = false,
  651.        splitedSkyscraper = [],
  652.        gatheredBlockChildSkyParts = [],
  653.        stickyStatus = false,
  654.        stickyCheck = [],
  655.        stickyFixedStatus = false,
  656.        stickyFixedCheck = [],
  657.        overflowCheck = [],
  658.        overflowStatus = false,
  659.        repeatableIdentifier = "",
  660.        dataCidIdentifier = null,
  661.        divCidElement = '';
  662.  
  663.    if (typeof scArray !== 'undefined') {
  664.        if (scArray&&scArray.length > 0&&gatheredBlocks&&gatheredBlocks.length > 0&&typeof window.rulvW5gntb !== 'undefined') {
  665.            dataCidIdentifier = window.rulvW5gntb;
  666.            for (let i = 0; i < gatheredBlocks.length; i++) {
  667.                gatheredBlockChild = gatheredBlocks[i].children[0];
  668.                if (!gatheredBlockChild) {
  669.                    continue;
  670.                }
  671.                scAdId = -3;
  672.                blockStatus = null;
  673.                scContainer = null;
  674.                dataFull = -1;
  675.                skyscraperStatus = false;
  676.                splitedSkyscraper = [];
  677.                gatheredBlockChildSkyParts = [];
  678.                stickyStatus = false;
  679.                stickyCheck = [];
  680.                stickyFixedStatus = false;
  681.                stickyFixedCheck = [];
  682.                repeatableIdentifier = "";
  683.                divCidElement = null;
  684.  
  685.                scAdId = gatheredBlockChild.getAttribute('data-aid');
  686.                scBlockId = gatheredBlockChild.getAttribute('data-id');
  687.                blockStatus = gatheredBlockChild.getAttribute('data-state');
  688.                dataFull = gatheredBlockChild.getAttribute('data-full');
  689.  
  690.                if (scBlockId&&scAdId > 0) {
  691.                    sci = -1;
  692.                    for (i1 = 0; i1 < scArray.length; i1++) {
  693.                        if (scBlockId == scArray[i1]['blockId']&&scAdId == scArray[i1]['adId']) {
  694.                            sci = i1;
  695.                        }
  696.                    }
  697.  
  698.                    if (sci > -1) {
  699.                        if (blockStatus&&okStates.includes(blockStatus)) {
  700.                            if (blockStatus=='no-block') {
  701.                                gatheredBlockChild.innerHTML = '';
  702.                            } else if ((blockStatus=='fetched'&&dataFull==1)||!['no-block','fetched'].includes(blockStatus)) {
  703.                                for (let cl1 = 0; cl1 < gatheredBlocks[i].classList.length; cl1++) {
  704.                                    if (gatheredBlocks[i].classList[cl1].includes("repeatable-mark")) {
  705.                                        repeatableIdentifier = gatheredBlocks[i].classList[cl1];
  706.                                    }
  707.                                }
  708.  
  709.                                if (repeatableIdentifier) {
  710.                                    divCidElement = document.querySelectorAll(".percentPointerClass.scMark."+repeatableIdentifier+' div[data-cid="'+dataCidIdentifier+'"]');
  711.                                } else {
  712.                                    divCidElement = gatheredBlockChild.querySelectorAll('div[data-cid="'+dataCidIdentifier+'"]');
  713.                                }
  714.  
  715.                                var text = scArray[sci]['text'];
  716.                                if (divCidElement&&divCidElement.length > 0) {
  717.                                    for (let i2 = 0; i2 < divCidElement.length; i2++) {
  718.                                        jQuery(divCidElement[i2]).html(text);
  719.                                    }
  720.                                } else {
  721.                                    jQuery(gatheredBlockChild).html(text);
  722.                                }
  723.                                launchUpdateRbDisplays();
  724.                            }
  725.                            if (blockStatus!='fetched'||(blockStatus=='fetched'&&dataFull==1)) {
  726.                                for (i1 = 0; i1 < scArray.length; i1++) {
  727.                                    if (scBlockId == scArray[i1]['blockId']) {
  728.                                        scArray.splice(i1, 1);
  729.                                        i1--;
  730.                                    }
  731.                                }
  732.                                gatheredBlocks[i].classList.remove('scMark');
  733.                            }
  734.                        }
  735.                    }
  736.                } else if (scBlockId&&scAdId < 1&&['no-block','fetched'].includes(blockStatus)) {
  737.                    for (i1 = 0; i1 < scArray.length; i1++) {
  738.                        if (scBlockId == scArray[i1]['blockId']) {
  739.                            scArray.splice(i1, 1);
  740.                            i1--;
  741.                        }
  742.                    }
  743.                    gatheredBlocks[i].classList.remove('scMark');
  744.                }
  745.            }
  746.        } else if (!scArray||(scArray&&scArray.length < 1)) {
  747.            endedSc = true;
  748.        }
  749.    } else {
  750.        endedSc = true;
  751.    }
  752.  
  753.    if (!endedSc) {
  754.        setTimeout(function () {
  755.            shortcodesInsert();
  756.        }, 200);
  757.    }
  758. }
  759.  
  760. function clearUnsuitableCache(cuc_cou) {
  761.    let scAdId = -1;
  762.    let ccRepeat = false;
  763.  
  764.    let gatheredBlocks = document.querySelectorAll('.percentPointerClass .' + block_classes.join(', .percentPointerClass .'));
  765.  
  766.    if (gatheredBlocks&&gatheredBlocks.length > 0) {
  767.        for (let i = 0; i < gatheredBlocks.length; i++) {
  768.            if (gatheredBlocks[i]['dataset']['aid']&&gatheredBlocks[i]['dataset']['aid'] < 0) {
  769.                if ((gatheredBlocks[i]['dataset']["state"]=='no-block')||(['done','fetched','refresh-wait'].includes(gatheredBlocks[i]['dataset']["state"]))) {
  770.                    gatheredBlocks[i]['innerHTML'] = '';
  771.                } else {
  772.                    ccRepeat = true;
  773.                }
  774.            } else if (!gatheredBlocks[i]['dataset']['aid']) {
  775.                ccRepeat = true;
  776.            }
  777.        }
  778.        if (cuc_cou < 50) {
  779.            if (ccRepeat) {
  780.                setTimeout(function () {
  781.                    clearUnsuitableCache(cuc_cou+1);
  782.                }, 100);
  783.            }
  784.        } else {
  785.            endedCc = true;
  786.        }
  787.    } else {
  788.        endedCc = true;
  789.    }
  790. }
  791.  
  792. function blocksRepositionUse(containerString, blType, searchType, contentElement) {
  793.    let blocksInContainer;
  794.    let blLocal = blType;
  795.    let currentBlock;
  796.    let currentBlockId;
  797.    let currentBlockPosition;
  798.    let currentContainer;
  799.    let i = 0;
  800.    let j = 0;
  801.    let blockStrJs = ' .percentPointerClass.marked';
  802.    let blockStrPhp = ' .percentPointerClass:not(.marked)';
  803.    let blockStr = ' .percentPointerClass';
  804.    let checkPointer = null;
  805.    let blockRepeatEnd = false;
  806.  
  807.    if (searchType) {
  808.        if (searchType == 'marked') {
  809.            while (!blockRepeatEnd) {
  810.                blLocal = blLocal.parentElement;
  811.                if (blLocal) {
  812.                    checkPointer = blLocal.querySelector("#content_pointer_id");
  813.                    if (!checkPointer) {
  814.                        blocksInContainer = jQuery(blLocal).parent(containerString);
  815.                        if (blocksInContainer && blocksInContainer.length > 0) {
  816.                            /* checkPointer = blocksInContainer.querySelector("#content_pointer_id"); */
  817.                            checkPointer = jQuery(blocksInContainer).find("#content_pointer_id");
  818.                            if (checkPointer && checkPointer.length > 0) {
  819.                                blocksInContainer = null;
  820.                            }
  821.                            blockRepeatEnd = true;
  822.                        }
  823.                    } else {
  824.                        blockRepeatEnd = true
  825.                    }
  826.                } else {
  827.                    blockRepeatEnd = true
  828.                }
  829.            }
  830.            /* blocksInContainer = jQuery(blType).parent(containerString); */
  831.            if (blocksInContainer&&blocksInContainer.length > 0) {
  832.                /* blocksInContainer.parentNode.insertBefore(rb_tempElement, blocksInContainer); */
  833.                blocksInContainer[0].parentNode.insertBefore(rb_tempElement, blocksInContainer[0]);
  834.  
  835.                sameElementAfterExcClassId = false;
  836.                return blocksInContainer[0];
  837.            }
  838.            return blType;
  839.        } else if (searchType == 'non-marked') {
  840.            blocksInContainer = document.querySelectorAll(blType + containerString + blockStrPhp);
  841.            if (blocksInContainer && blocksInContainer.length > 0 && usedBlockSettingArray && usedBlockSettingArray.length > 0) {
  842.                for (i = 0; i < blocksInContainer.length; i++) {
  843.                    currentBlock = blocksInContainer[i];
  844.                    currentBlockId = currentBlock.querySelector('.' + block_classes.join(', .')).getAttribute('data-id');
  845.                    currentContainer = null;
  846.                    for (j = 0; j < usedBlockSettingArray.length; i++) {
  847.                        if (usedBlockSettingArray[i]['id'] == currentBlockId) {
  848.                            currentBlockPosition = usedBlockSettingArray[i]['elementPosition'];
  849.                            currentContainer = currentBlock.closest(blType + containerString);
  850.                            if (currentBlockPosition == 0) {
  851.                                currentContainer.parentNode.insertBefore(currentBlock, currentContainer);
  852.                            } else {
  853.                                currentContainer.parentNode.insertBefore(currentBlock, currentContainer.nextSibling);
  854.                            }
  855.                            break;
  856.                        }
  857.                    }
  858.                }
  859.            }
  860.        }
  861.    }
  862.    return false;
  863. }
  864.  
  865. function createStyleElement(blockNumber, localElementCss) {
  866.    let htmlToAdd = '';
  867.    let marginString;
  868.    let textAlignString;
  869.    let contPoi;
  870.    let emptyValues = false;
  871.    let elementToAddStyleLocal = document.querySelector('#blocksAlignStyle');
  872.    if (!elementToAddStyleLocal) {
  873.        contPoi = document.querySelector('#content_pointer_id');
  874.        if (!contPoi) {
  875.            return false;
  876.        }
  877.  
  878.        elementToAddStyleLocal = document.createElement('style');
  879.        elementToAddStyleLocal.setAttribute('id', 'blocksAlignStyle');
  880.        contPoi.parentNode.insertBefore(elementToAddStyleLocal, contPoi);
  881.    }
  882.  
  883.    switch (localElementCss) {
  884.        case 'left':
  885.            emptyValues = false;
  886.            marginString = '0 auto 0 0';
  887.            textAlignString = 'left';
  888.            break;
  889.        case 'right':
  890.            emptyValues = false;
  891.            marginString = '0 0 0 auto';
  892.            textAlignString = 'right';
  893.            break;
  894.        case 'center':
  895.            emptyValues = false;
  896.            marginString = '0 auto';
  897.            textAlignString = 'center';
  898.            break;
  899.        case 'default':
  900.            emptyValues = true;
  901.            marginString = 'default';
  902.            textAlignString = 'default';
  903.            /** here will be css */
  904.            break;
  905.    }
  906.    if (!emptyValues) {
  907.        htmlToAdd = '.percentPointerClass  > *[data-id="'+blockNumber+'"] {\n' +
  908.            '    margin: '+marginString+';\n' +
  909.            '}\n';
  910.    }
  911.  
  912.    elementToAddStyleLocal.innerHTML += htmlToAdd;
  913.    return textAlignString;
  914. }
  915.  
  916. function initTargetToInsert(position, type, currentElement) {
  917.    let posCurrentElement;
  918.    let usedElement;
  919.    if (type == 'element') {
  920.        if (position == 0) {
  921.            posCurrentElement = currentElement;
  922.            if (!(typeof obligatoryMargin!=='undefined'&&obligatoryMargin===1)) {
  923.                currentElement.classList.add('rfwp_removedMarginTop');
  924.            }
  925.        } else {
  926.            posCurrentElement = currentElement.nextSibling;
  927.            if (!(typeof obligatoryMargin!=='undefined'&&obligatoryMargin===1)) {
  928.                currentElement.classList.add('rfwp_removedMarginBottom');
  929.            }
  930.        }
  931.        currentElement.style.clear = 'both';
  932.    } else {
  933.        usedElement = currentElement;
  934.        if (position == 0) {
  935.            posCurrentElement = usedElement;
  936.        } else {
  937.            posCurrentElement = usedElement.nextSibling;
  938.        }
  939.    }
  940.    return posCurrentElement;
  941. }
  942.  
  943. function checkAdsWidth(content_pointer, posCurrentElement, currentElement) {
  944.    let widthChecker = document.querySelector('#widthChecker');
  945.    let widthCheckerStyle = null;
  946.    let content_pointerStyle = getComputedStyle(content_pointer);
  947.    /* let getPositionForTempElement = null;
  948.    let testImgDetected = false;
  949.    let testImg;
  950.    let testImageCompWidth;
  951.    let testImgCou = 0
  952.    let figureChilds;
  953.    let figureComWidth;
  954.    let fcCou = 0; */
  955.    let content = content_pointer.parentElement;
  956.  
  957.    if (!widthChecker) {
  958.        widthChecker = document.createElement("div");
  959.        widthChecker.setAttribute('id','widthChecker');
  960.        widthChecker.style.display = 'flex';
  961.    }
  962.  
  963.    if (content) {
  964.        posCurrentElement = initTargetToInsert(posCurrentElement, 'term', currentElement);
  965.        currentElement.parentNode.insertBefore(widthChecker, posCurrentElement);
  966.        widthCheckerStyle = getComputedStyle(widthChecker);
  967.        /* testImg = currentElement.previousSibling;
  968.        if (testImg) {
  969.            while (!testImgDetected&&testImgCou<4) {
  970.                if (testImg&&testImg.nodeName.toLowerCase() === 'figure') {
  971.                    figureComWidth = getComputedStyle(testImg);
  972.                    figureComWidth = parseInt(figureComWidth.width);
  973.                    figureChilds = testImg.childNodes;
  974.                    if (figureChilds&&figureChilds.length > 0) {
  975.                        while (!testImgDetected&&figureChilds[fcCou]) {
  976.                            if (figureChilds[fcCou] instanceof HTMLImageElement) {
  977.                                testImgDetected = true;
  978.                                testImageCompWidth = getComputedStyle(figureChilds[fcCou]);
  979.                                testImageCompWidth = parseInt(testImageCompWidth.width);
  980.                                console.log('img_f_w:'+figureComWidth+'; img_w:'+testImageCompWidth+';');
  981.                            }
  982.                            fcCou++;
  983.                        }
  984.                    }
  985.                }
  986.                if (testImg instanceof HTMLImageElement) {
  987.                    testImgDetected = true;
  988.                    testImageCompWidth = getComputedStyle(testImg);
  989.                    testImageCompWidth = parseInt(testImageCompWidth.width);
  990.                    console.log('img_w:'+testImageCompWidth+';');
  991.                }
  992.                if (!testImg.previousSibling) {
  993.                    break;
  994.                }
  995.                testImg = testImg.previousSibling;
  996.                testImgCou++;
  997.            }
  998.        }
  999.        console.log('cp_w:'+parseInt(content_pointerStyle.width)+'; wc_w:'+parseInt(widthCheckerStyle.width)+';'); */
  1000.        if (parseInt(widthCheckerStyle.width) >= (parseInt(content_pointerStyle.width) - 50)) {
  1001.            return true;
  1002.        }
  1003.    }
  1004.    currentElement.parentNode.insertBefore(rb_tempElement, currentElement.nextSibling);
  1005.    rb_tempElement_check = true;
  1006.    return false;
  1007. }
  1008.  
  1009. /* function currentElementReceiver(revert, curSum, elList, currentElement) {
  1010.    let origCurrentElement = currentElement;
  1011.    let content_pointer = document.querySelector("#content_pointer_id");
  1012.    let sameElementAfterWidth = false;
  1013.    let testCou = 0;
  1014.    while (elList[curSum]&&sameElementAfterWidth==false&&testCou < 5) {
  1015.        currentElement = elList[curSum];
  1016.        try {
  1017.            sameElementAfterWidth=true;
  1018.            sameElementAfterWidth = checkAdsWidth(content_pointer, 0, currentElement);
  1019.        } catch (ex) {
  1020.            console.log(ex.message);
  1021.        }
  1022.        revert? curSum--: curSum++;
  1023.        testCou++;
  1024.    }
  1025.    return currentElement?currentElement:origCurrentElement;
  1026. } */
  1027.  
  1028. function currentElementReceiverSpec(revert, curSum, elList, currentElement) {
  1029.    let origCurrentElement = currentElement;
  1030.    let content_pointer = document.querySelector("#content_pointer_id"); /* orig */
  1031.    let sameElementAfterWidth = false;
  1032.    let testCou = 0;
  1033.    while (elList[curSum]&&sameElementAfterWidth==false&&testCou < 5) {
  1034.        currentElement = elList[curSum]['element'];
  1035.        try {
  1036.            sameElementAfterWidth=true;
  1037.            sameElementAfterWidth = checkAdsWidth(content_pointer, 0, currentElement);
  1038.        } catch (ex) {
  1039.            console.log(ex.message);
  1040.        }
  1041.        revert? curSum--: curSum++;
  1042.        testCou++;
  1043.    }
  1044.    return currentElement?currentElement:origCurrentElement;
  1045. }
  1046.  
  1047. function excIdClUnpacker() {
  1048.    let excArr = [],
  1049.        cou = 0,
  1050.        currExcStr = '',
  1051.        curExcFirst = '';
  1052.    excArr['id'] = [];
  1053.    excArr['class'] = [];
  1054.    excArr['tag'] = [];
  1055.    if (excIdClass&&excIdClass.length > 0) {
  1056.        while (excIdClass[cou]) {
  1057.            currExcStr = excIdClass[cou];
  1058.            if (currExcStr.length > 0) {
  1059.                curExcFirst = currExcStr.substring(0,1);
  1060.                switch (curExcFirst) {
  1061.                    case '#':
  1062.                        if (currExcStr.length > 1) {
  1063.                            currExcStr = currExcStr.substring(1);
  1064.                            excArr['id'].push(currExcStr);
  1065.                        }
  1066.                        break;
  1067.                    case '.':
  1068.                        if (currExcStr.length > 1) {
  1069.                            currExcStr = currExcStr.substring(1);
  1070.                            excArr['class'].push(currExcStr);
  1071.                        }
  1072.                        break;
  1073.                    default:
  1074.                        excArr['tag'].push(currExcStr);
  1075.                        break;
  1076.                }
  1077.                cou++;
  1078.            }
  1079.        }
  1080.    }
  1081.    return excArr;
  1082. }
  1083.  
  1084. function asyncBlocksInsertingFunction(blockSettingArray) {
  1085.    try {
  1086.        var content_pointer = document.querySelector("#content_pointer_id"); /* orig */
  1087.        var parent_with_content = content_pointer.parentElement;
  1088.        var lordOfElements = parent_with_content;
  1089.        parent_with_content = parent_with_content.parentElement;
  1090.        var newElement = document.createElement("div");
  1091.        var elementToAdd;
  1092.        var elementToAddStyle;
  1093.        var poolbackI = 0;
  1094.        var counter = 0;
  1095.        var currentElement;
  1096.        var repeatableCurrentElement;
  1097.        var repeatableSuccess;
  1098.        var reCou;
  1099.        var curFirstPlace;
  1100.        var curElementCount;
  1101.        var curElementStep;
  1102.        var backElement = 0;
  1103.        var sumResult = 0;
  1104.        var curSumResult = 0;
  1105.        var repeat = false;
  1106.        var currentElementChecker = false;
  1107.        let containerFor6th = [];
  1108.        let containerFor7th = [];
  1109.        var posCurrentElement;
  1110.        var block_number;
  1111.        let contentLength = content_pointer.getAttribute('data-content-length');
  1112.        let rejectedBlocks = content_pointer.getAttribute('data-rejected-blocks');
  1113.        if (rejectedBlocks&&rejectedBlocks.length > 0) {
  1114.            rejectedBlocks = rejectedBlocks.split(',');
  1115.        }
  1116.        let widthCheck = false;
  1117.        let currentElementList;
  1118.        var testElement1 = null;
  1119.        var termorarity_parent_with_content = parent_with_content;
  1120.        var termorarity_parent_with_content_length = 0;
  1121.        var headersList = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'];
  1122.        for (var hc1 = 0; hc1 < headersList.length; hc1++) {
  1123.            termorarity_parent_with_content_length += termorarity_parent_with_content.getElementsByTagName(headersList[hc1]).length;
  1124.        }
  1125.  
  1126.        let detailedElementList;
  1127.        let ExcStrCou = 1;
  1128.        let detailedQueryString;
  1129.        let usedElement;
  1130.        let tagList = [];
  1131.        let localSumResult;
  1132.        let binderName;
  1133.  
  1134.        var removeClearing;
  1135.        var repeatableBlockIdentifier = 0;
  1136.  
  1137.        var i;
  1138.  
  1139.        if (contentLength < 1) {
  1140.            contentLength = parent_with_content.innerText.length
  1141.        }
  1142.  
  1143.        rb_tempElement = document.querySelector('#rb_tempElement');
  1144.        if (!rb_tempElement) {
  1145.            rb_tempElement = document.createElement('span');
  1146.            rb_tempElement.setAttribute('id', 'rb_tempElement');
  1147.        }
  1148.  
  1149.        function getFromConstructions(currentElement) {
  1150.            if (currentElement.parentElement.tagName.toLowerCase() == "blockquote") {
  1151.                currentElement = currentElement.parentElement;
  1152.                /* initTargetToInsert(blockSettingArray, 'element', currentElement); */
  1153.                currentElement.parentNode.insertBefore(rb_tempElement, currentElement);
  1154.                rb_tempElement_check = true;
  1155.                sameElementAfterFromConstruction=false;
  1156.            } else if (["tr","td","th","thead","tbody","table"].includes(currentElement.parentElement.tagName.toLowerCase())) {
  1157.                currentElement = currentElement.parentElement;
  1158.                while (["tr","td","th","thead","tbody","table"].includes(currentElement.parentElement.tagName.toLowerCase())) {
  1159.                    currentElement = currentElement.parentElement;
  1160.                }
  1161.                currentElement.parentNode.insertBefore(rb_tempElement, currentElement);
  1162.                rb_tempElement_check = true;
  1163.                sameElementAfterFromConstruction=false;
  1164.            }
  1165.            return currentElement;
  1166.        }
  1167.  
  1168.        function directClassElementDetecting(blockSettingArray, directElement) {
  1169.            let findQuery = 0;
  1170.            let directClassElementResult = [];
  1171.  
  1172.            currentElement = document.querySelectorAll(directElement);
  1173.            if (currentElement.length > 0) {
  1174.                if (blockSettingArray[i]['elementPlace'] > 1) {
  1175.                    if (currentElement.length >= blockSettingArray[i]['elementPlace']) {
  1176.                        currentElement = currentElement[blockSettingArray[i]['elementPlace']-1];
  1177.                    } else if (currentElement.length < blockSettingArray[i]['elementPlace']) {
  1178.                        currentElement = currentElement[currentElement.length - 1];
  1179.                    } else {
  1180.                        findQuery = 1;
  1181.                    }
  1182.                } else if (blockSettingArray[i]['elementPlace'] < 0) {
  1183.                    if ((currentElement.length + blockSettingArray[i]['elementPlace'] + 1) > 0) {
  1184.                        currentElement = currentElement[currentElement.length + blockSettingArray[i]['elementPlace']];
  1185.                    } else {
  1186.                        findQuery = 1;
  1187.                    }
  1188.                } else {
  1189.                    findQuery = 1;
  1190.                }
  1191.            } else {
  1192.                findQuery = 1;
  1193.            }
  1194.  
  1195.            directClassElementResult['findQuery'] = findQuery;
  1196.            directClassElementResult['currentElement'] = currentElement;
  1197.  
  1198.            return directClassElementResult;
  1199.        }
  1200.  
  1201.        function placingToH1(usedElement, elementTagToFind) {
  1202.            let uselessLet;
  1203.            currentElement = usedElement.querySelectorAll(elementTagToFind);
  1204.  
  1205.            if (currentElement.length < 1) {
  1206.                if (usedElement.parentElement) {
  1207.                    uselessLet = placingToH1(usedElement.parentElement, elementTagToFind);
  1208.                }
  1209.            }
  1210.            return currentElement;
  1211.        }
  1212.  
  1213.        function elementsCleaning(excArr, elList, pwcLocal, gatherString) {
  1214.            let markedClass = 'rb_m_inc';
  1215.            let markedClassBad = 'rb_m_exc';
  1216.            let cou = 0;
  1217.            let cou1 = 0;
  1218.            let finalArr = [];
  1219.            let finalArrClear = [];
  1220.            let checkNearest;
  1221.            let outOfRangeCheck;
  1222.            let gatherRejected;
  1223.            let allower;
  1224.  
  1225.            try {
  1226.                while (elList[cou]) {
  1227.                    allower = true;
  1228.                    if (!elList[cou].classList.contains(markedClassBad)) {
  1229.                        if (excArr&&excArr.length > 0) {
  1230.                            cou1 = 0;
  1231.                            while (excArr[cou1]) {
  1232.                                checkNearest = elList[cou].parentElement.closest(excArr[cou1]);
  1233.                                if (checkNearest) {
  1234.                                    checkNearest.classList.add('currClosest');
  1235.                                    outOfRangeCheck = pwcLocal.querySelector('.currClosest');
  1236.                                    if (outOfRangeCheck) {
  1237.                                        allower = false;
  1238.                                        checkNearest.classList.add(markedClass);
  1239.                                        gatherRejected = checkNearest.querySelectorAll(gatherString);
  1240.                                        if (gatherRejected.length > 0) {
  1241.                                            for (let i1 = 0; i1 < gatherRejected.length; i1++) {
  1242.                                                gatherRejected[i1].classList.add(markedClassBad);
  1243.                                            }
  1244.                                        }
  1245.                                    }
  1246.                                    checkNearest.classList.remove('currClosest');
  1247.                                }
  1248.                                cou1++;
  1249.                            }
  1250.                        }
  1251.                        if (allower===true) {
  1252.                            elList[cou].classList.add(markedClass);
  1253.                            /* finalArr.push(elList[cou]); */
  1254.                        }
  1255.                    }
  1256.                    cou++;
  1257.                }
  1258.                finalArr = pwcLocal.querySelectorAll('.'+markedClass+':not('+markedClassBad+')');
  1259.                finalArrClear = pwcLocal.querySelectorAll('.'+markedClass+',.'+markedClassBad);
  1260.                if (finalArrClear&&finalArrClear.length > 0) {
  1261.                    for (let i1 = 0; i1 < finalArrClear.length; i1++) {
  1262.                        finalArrClear[i1].classList.remove(markedClass,markedClassBad);
  1263.                    }
  1264.                }
  1265.            } catch (er) {
  1266.                console.log(er.message);
  1267.            }
  1268.            return finalArr;
  1269.        }
  1270.  
  1271.        function cureentElementsGather(usedElement, loopLimit = 2, localPwc = parent_with_content) {
  1272.            let curElementSearchRepeater = true;
  1273.            let curElementSearchCounter = 0;
  1274.            let currentElementLoc = null;
  1275.            let ExcludedStringBegin = '';
  1276.            let ExcludedString = '';
  1277.            let ExcludedStringEnd = '';
  1278.            let tagListString = '';
  1279.            let tagListStringExc = '';
  1280.            let cou = 0;
  1281.            /* let excArr = excIdClUnpacker(); */
  1282.            let tagListCou = 0;
  1283.  
  1284.            if (usedElement=='h1') {
  1285.                currentElementLoc = placingToH1(localPwc, usedElement);
  1286.            } else {
  1287.                if (usedElement=='h2-4') {tagList = ['h2','h3','h3'];}
  1288.                else                     {tagList = [usedElement];   }
  1289.                while (tagList[tagListCou]) {
  1290.                    tagListString += ((cou++>0)?',':'')+tagList[tagListCou];
  1291.                    tagListStringExc += ':not('+tagList[tagListCou]+')';
  1292.                    tagListCou++;
  1293.                }
  1294.  
  1295.                ExcludedString = '';
  1296.                if (excIdClass&&excIdClass.length > 0) {
  1297.                    for (let i2 = 0; i2 < excIdClass.length; i2++) {
  1298.                        if (excIdClass[i2].length > 0) {
  1299.                            ExcludedString += (i2>0?',':'')+excIdClass[i2]+tagListStringExc;
  1300.                        }
  1301.                    }
  1302.                }
  1303.                detailedQueryString += tagListString+','+ExcludedString;
  1304.  
  1305.                /* console.log(detailedQueryString); */
  1306.                while (curElementSearchRepeater&&curElementSearchCounter < loopLimit) {
  1307.                    try {
  1308.                        currentElementLoc = localPwc.querySelectorAll(tagListString);
  1309.                    } catch (e1) {console.log(e1.message);}
  1310.                    if (!currentElementLoc) {
  1311.                        if (localPwc.parentElement) {
  1312.                            localPwc = localPwc.parentElement;
  1313.                        } else {
  1314.                            break;
  1315.                        }
  1316.                    } else {
  1317.                        currentElementLoc = elementsCleaning(excIdClass, currentElementLoc, localPwc, detailedQueryString);
  1318.                        curElementSearchRepeater = false;
  1319.                    }
  1320.                    curElementSearchCounter++;
  1321.                }
  1322.            }
  1323.            return currentElementLoc;
  1324.        }
  1325.  
  1326.        function currentElementReceiver(revert, localCurEl = currentElement) {
  1327.            let origCurEl = localCurEl;
  1328.            curSumResult = sumResult;
  1329.            detailedElementList = localCurEl;
  1330.            sameElementAfterWidth = false;
  1331.            let testCou = 0;
  1332.            while (detailedElementList[curSumResult]&&sameElementAfterWidth==false&&testCou < 8) {
  1333.                localCurEl = detailedElementList[curSumResult];
  1334.                try {
  1335.                    sameElementAfterWidth=true;
  1336.                    sameElementAfterWidth = checkAdsWidth(content_pointer, blockSettingArray[i]["elementPosition"], localCurEl);
  1337.                } catch (ex) {
  1338.                    console.log(ex.message);
  1339.                }
  1340.                revert? curSumResult--: curSumResult++;
  1341.                testCou++;
  1342.            }
  1343.            if (localCurEl) {
  1344.                currentElementChecker = true;
  1345.            }
  1346.            return localCurEl?localCurEl:origCurEl;
  1347.        }
  1348.        
  1349.        function endingActions(block_number) {
  1350.            usedBlockSettingArrayIds.push(block_number);
  1351.            blockSettingArray.splice(i--, 1);
  1352.            poolbackI = 1;
  1353.        }
  1354.  
  1355.        for (i = 0; i < blockSettingArray.length; i++) {
  1356.            currentElement = null;
  1357.            currentElementChecker = false;
  1358.            sameElementAfterWidth = false;
  1359.            sameElementAfterExcClassId = false;
  1360.            sameElementAfterFromConstruction = false;
  1361.            tagListCou = 0;
  1362.            poolbackI = 0;
  1363.            detailedQueryString = '';
  1364.            binderName = elementBinderNameGenerator();
  1365.  
  1366.            try {
  1367.                if (!blockSettingArray[i]["text"]
  1368.                    ||(blockSettingArray[i]["text"]&&blockSettingArray[i]["text"].length < 1)
  1369.                    ||(rejectedBlocks&&rejectedBlocks.includes(blockSettingArray[i]["id"]))
  1370.                    ||((blockSettingArray[i]["maxHeaders"] > 0)&&(blockSettingArray[i]["maxHeaders"] < parseInt(termorarity_parent_with_content_length)))
  1371.                    ||((blockSettingArray[i]["maxSymbols"] > 0)&&(blockSettingArray[i]["maxSymbols"] < parseInt(contentLength)))
  1372.                    ||(content_pointer.classList.contains("hard-content")&&blockSettingArray[i]["setting_type"]!=3)
  1373.                ) {
  1374.                    blockSettingArray.splice(i--, 1);
  1375.                    poolbackI = 1;
  1376.                    continue;
  1377.                }
  1378.  
  1379.                block_number = 0;
  1380.  
  1381.                elementToAdd = document.createElement("div");
  1382.                elementToAdd.classList.add("percentPointerClass");
  1383.                elementToAdd.classList.add("marked");
  1384.                if (blockSettingArray[i]["sc"]==1) {
  1385.                    elementToAdd.classList.add("scMark");
  1386.                }
  1387.                elementToAdd.innerHTML = blockSettingArray[i]["text"];
  1388.                elementToAdd.dataset.rbinder = binderName;
  1389.                block_number = elementToAdd.children[0].attributes['data-id'].value;
  1390.  
  1391.                if (blockDuplicate == 'no') {
  1392.                    if (usedBlockSettingArrayIds.length > 0) {
  1393.                        for (let i1 = 0; i1 < usedBlockSettingArrayIds.length; i1++) {
  1394.                            if (block_number==usedBlockSettingArrayIds[i1]) {
  1395.                                blockSettingArray.splice(i--, 1);
  1396.                                poolbackI = 1;
  1397.                                break;
  1398.                            }
  1399.                        }
  1400.                        if (poolbackI == 1) {
  1401.                            continue;
  1402.                        }
  1403.                    }
  1404.                }
  1405.  
  1406.                elementToAddStyle = createStyleElement(block_number, blockSettingArray[i]["elementCss"]);
  1407.  
  1408.                if (elementToAddStyle&&elementToAddStyle!='default') {
  1409.                    elementToAdd.style.textAlign = elementToAddStyle;
  1410.                }
  1411.  
  1412.                if ((blockSettingArray[i]["minHeaders"] > 0)&&(blockSettingArray[i]["minHeaders"] > termorarity_parent_with_content_length)) {continue;}
  1413.                if (blockSettingArray[i]["minSymbols"] > contentLength) {continue;}
  1414.  
  1415.                if (blockSettingArray[i]["setting_type"] == 1) {
  1416.                    currentElement = cureentElementsGather(blockSettingArray[i]["element"].toLowerCase());
  1417.                    if (currentElement) {
  1418.                        if (blockSettingArray[i]["elementPlace"] < 0) {
  1419.                            sumResult = currentElement.length + blockSettingArray[i]["elementPlace"];
  1420.                            if (sumResult >= 0 && sumResult < currentElement.length) {
  1421.                                currentElement = currentElementReceiver(true);
  1422.                            }
  1423.                        } else {
  1424.                            sumResult = blockSettingArray[i]["elementPlace"] - 1;
  1425.                            if (sumResult < currentElement.length) {
  1426.                                currentElement = currentElementReceiver(false);
  1427.                            }
  1428.                        }
  1429.                    }
  1430.                    if (currentElement != undefined && currentElement != null && currentElementChecker) {
  1431.                        posCurrentElement = initTargetToInsert(blockSettingArray[i]["elementPosition"], 'element', currentElement);
  1432.                        currentElement.parentNode.insertBefore(elementToAdd, posCurrentElement);
  1433.                        currentElement.classList.add('rbinder-'+binderName);
  1434.                        elementToAdd.classList.remove('coveredAd');
  1435.                        usedBlockSettingArrayIds.push(block_number);
  1436.                        blockSettingArray.splice(i--, 1);
  1437.                        poolbackI = 1;
  1438.                        rb_tempElement_check = false;
  1439.                    } else {
  1440.                        repeat = true;
  1441.                    }
  1442.                }
  1443.                else if (blockSettingArray[i]["setting_type"] == 2) {
  1444.                    if (blockDuplicate == 'no') {
  1445.                        blockSettingArray[i]["elementCount"] = 1;
  1446.                    }
  1447.                    repeatableCurrentElement = [];
  1448.                    reCou = 0;
  1449.                    curFirstPlace = blockSettingArray[i]["firstPlace"];
  1450.                    curElementCount = blockSettingArray[i]["elementCount"];
  1451.                    curElementStep = blockSettingArray[i]["elementStep"];
  1452.                    repeatableSuccess = false;
  1453.  
  1454.                    elementToAddStyle = createStyleElement(block_number, blockSettingArray[i]["elementCss"]);
  1455.  
  1456.                    repeatableCurrentElement = cureentElementsGather(blockSettingArray[i]["element"].toLowerCase());
  1457.                    if (repeatableCurrentElement) {
  1458.                        for (let i1 = 0; i1 < blockSettingArray[i]["elementCount"]; i1++) {
  1459.                            currentElementChecker = false;
  1460.                            let repElementToAdd = document.createElement("div");
  1461.                            repElementToAdd.classList.add("percentPointerClass");
  1462.                            repElementToAdd.classList.add("marked");
  1463.                            if (blockSettingArray[i]["sc"]==1) {
  1464.                                repElementToAdd.classList.add("scMark");
  1465.                            }
  1466.                            repElementToAdd.classList.add("repeatable-mark-"+repeatableBlockIdentifier);
  1467.                            repElementToAdd.innerHTML = blockSettingArray[i]["text"];
  1468.  
  1469.                            if (elementToAddStyle&&elementToAddStyle!='default') {
  1470.                                repElementToAdd.style.textAlign = elementToAddStyle;
  1471.                            }
  1472.  
  1473.                            sumResult = Math.round(parseInt(blockSettingArray[i]["firstPlace"]) + (i1*parseInt(blockSettingArray[i]["elementStep"])) - 1);
  1474.                            if (sumResult < repeatableCurrentElement.length) {
  1475.                                currentElement = currentElementReceiver(false, repeatableCurrentElement);
  1476.                            }
  1477.  
  1478.                            if (currentElement != undefined && currentElement != null && currentElementChecker) {
  1479.                                posCurrentElement = initTargetToInsert(blockSettingArray[i]["elementPosition"], 'element', currentElement);
  1480.                                currentElement.parentNode.insertBefore(repElementToAdd, posCurrentElement);
  1481.                                currentElement.classList.add('rbinder-'+binderName);
  1482.                                repElementToAdd.classList.remove('coveredAd');
  1483.                                curFirstPlace = sumResult + parseInt(blockSettingArray[i]["elementStep"]) + 1;
  1484.                                curElementCount--;
  1485.                                repeatableSuccess = true;
  1486.                            } else {
  1487.                                repeatableSuccess = false;
  1488.                                break;
  1489.                            }
  1490.                        }
  1491.                    }
  1492.                    if (repeatableSuccess==true) {
  1493.                        usedBlockSettingArrayIds.push(block_number);
  1494.                        blockSettingArray.splice(i--, 1);
  1495.                        poolbackI = 1;
  1496.                        repeatableBlockIdentifier++;
  1497.                    } else {
  1498.                        if (!blockSettingArray[i]["unsuccess"]) {
  1499.                            blockSettingArray[i]["unsuccess"] = 1;
  1500.                        } else {
  1501.                            blockSettingArray[i]["unsuccess"] = Math.round(blockSettingArray[i]["unsuccess"] + 1);
  1502.                        }
  1503.                        if (blockSettingArray[i]["unsuccess"] > 10) {
  1504.                            usedBlockSettingArrayIds.push(block_number);
  1505.                            blockSettingArray.splice(i--, 1);
  1506.                            poolbackI = 1;
  1507.                        } else {
  1508.                            blockSettingArray[i]["firstPlace"] = curFirstPlace;
  1509.                            blockSettingArray[i]["elementCount"] = curElementCount;
  1510.                            blockSettingArray[i]["elementStep"] = curElementStep;
  1511.                            repeat = true;
  1512.                        }
  1513.                    }
  1514.                }
  1515.                else if (blockSettingArray[i]["setting_type"] == 3) {
  1516.                    let elementTypeSymbol = '';
  1517.                    let elementSpaceSymbol = '';
  1518.                    let elementName = '';
  1519.                    let elementType = '';
  1520.                    let elementTag  = '';
  1521.                    let findQuery = 0;
  1522.                    let directClassResult = [];
  1523.                    let directElement = blockSettingArray[i]["directElement"].trim();
  1524.  
  1525.                    if (directElement.search('#') > -1) {
  1526.                        findQuery = 1;
  1527.                    } else if ((directElement.search('#') < 0)&&(directElement.search('.') > -1)) {
  1528.                        directClassResult = directClassElementDetecting(blockSettingArray, directElement);
  1529.                        findQuery = directClassResult['findQuery'];
  1530.                        currentElement = directClassResult['currentElement'];
  1531.                    }
  1532.                    if (findQuery == 1) {
  1533.                        currentElement = document.querySelector(directElement);
  1534.                    }
  1535.                    if (currentElement) {
  1536.                        currentElementChecker = true;
  1537.                    }
  1538.  
  1539.                    if (currentElement != undefined && currentElement != null && currentElementChecker) {
  1540.                        posCurrentElement = initTargetToInsert(blockSettingArray[i]["elementPosition"], 'element', currentElement);
  1541.                        currentElement.parentNode.insertBefore(elementToAdd, posCurrentElement);
  1542.                        elementToAdd.classList.remove('coveredAd');
  1543.                        currentElement.classList.add('rbinder-'+binderName);
  1544.                        usedBlockSettingArrayIds.push(block_number);
  1545.                        blockSettingArray.splice(i--, 1);
  1546.                        poolbackI = 1;
  1547.                    } else {
  1548.                        repeat = true;
  1549.                    }
  1550.                }
  1551.                else if (blockSettingArray[i]["setting_type"] == 4) {
  1552.                    document.querySelector("#content_pointer_id").parentElement.append(elementToAdd);
  1553.                    usedBlockSettingArrayIds.push(block_number);
  1554.                    blockSettingArray.splice(i--, 1);
  1555.                    poolbackI = 1;
  1556.                }
  1557.                else if (blockSettingArray[i]["setting_type"] == 5) {
  1558.                    let currentElementList = cureentElementsGather('p', 1, content_pointer.parentElement);
  1559.                    if (currentElementList&&currentElementList.length > 0) {
  1560.                        let pCount = currentElementList.length;
  1561.                        let elementNumber = Math.round(pCount/2);
  1562.                        if (pCount > 1) {
  1563.                            currentElement = currentElementList[elementNumber+1];
  1564.                        }
  1565.                        if (currentElement != undefined && currentElement != null) {
  1566.                            if (pCount > 1) {
  1567.                                currentElement.parentNode.insertBefore(elementToAdd, currentElement);
  1568.                            } else {
  1569.                                currentElement.parentNode.insertBefore(elementToAdd, currentElement.nextSibling);
  1570.                            }
  1571.                            elementToAdd.classList.remove('coveredAd');
  1572.                            currentElement.classList.add('rbinder-'+binderName);
  1573.                            usedBlockSettingArrayIds.push(block_number);
  1574.                            blockSettingArray.splice(i--, 1);
  1575.                            poolbackI = 1;
  1576.                        } else {
  1577.                            repeat = true;
  1578.                        }
  1579.                    } else {
  1580.                        repeat = true;
  1581.                    }
  1582.                }
  1583.                else if (blockSettingArray[i]["setting_type"] == 6) {
  1584.                    if (containerFor6th.length > 0) {
  1585.                        for (let j = 0; j < containerFor6th.length; j++) {
  1586.                            if (containerFor6th[j]["elementPlace"]<blockSettingArray[i]["elementPlace"]) {
  1587.                                /* continue; */
  1588.                                if (j == containerFor6th.length-1) {
  1589.                                    containerFor6th.push(blockSettingArray[i]);
  1590.                                    /* usedAdBlocksArray.push(checkIfBlockUsed); */
  1591.                                    usedBlockSettingArrayIds.push(block_number);
  1592.                                    blockSettingArray.splice(i--, 1);
  1593.                                    poolbackI = 1;
  1594.                                    break;
  1595.                                }
  1596.                            } else {
  1597.                                for (let k = containerFor6th.length-1; k > j-1; k--) {
  1598.                                    containerFor6th[k + 1] = containerFor6th[k];
  1599.                                }
  1600.                                containerFor6th[j] = blockSettingArray[i];
  1601.                                /* usedAdBlocksArray.push(checkIfBlockUsed); */
  1602.                                usedBlockSettingArrayIds.push(block_number);
  1603.                                blockSettingArray.splice(i--, 1);
  1604.                                poolbackI = 1;
  1605.                                break;
  1606.                            }
  1607.                        }
  1608.                    } else {
  1609.                        containerFor6th.push(blockSettingArray[i]);
  1610.                        usedBlockSettingArrayIds.push(block_number);
  1611.                        blockSettingArray.splice(i--, 1);
  1612.                        poolbackI = 1;
  1613.                    }
  1614.                /* vidpravutu v vidstiinuk dlya 6ho tipa */
  1615.                }
  1616.                else if (blockSettingArray[i]["setting_type"] == 7) {
  1617.                    if (containerFor7th.length > 0) {
  1618.                        for (let j = 0; j < containerFor7th.length; j++) {
  1619.                            if (containerFor7th[j]["elementPlace"]<blockSettingArray[i]["elementPlace"]) {
  1620.                                /* continue; */
  1621.                                if (j == containerFor7th.length-1) {
  1622.                                    containerFor7th.push(blockSettingArray[i]);
  1623.                                    usedBlockSettingArrayIds.push(block_number);
  1624.                                    blockSettingArray.splice(i--, 1);
  1625.                                    poolbackI = 1;
  1626.                                    break;
  1627.                                }
  1628.                            } else {
  1629.                                for (let k = containerFor7th.length-1; k > j-1; k--) {
  1630.                                    containerFor7th[k + 1] = containerFor7th[k];
  1631.                                }
  1632.                                containerFor7th[j] = blockSettingArray[i];
  1633.                                usedBlockSettingArrayIds.push(block_number);
  1634.                                blockSettingArray.splice(i--, 1);
  1635.                                poolbackI = 1;
  1636.                                break;
  1637.                            }
  1638.                        }
  1639.                    } else {
  1640.                        containerFor7th.push(blockSettingArray[i]);
  1641.                        usedBlockSettingArrayIds.push(block_number);
  1642.                        blockSettingArray.splice(i--, 1);
  1643.                        poolbackI = 1;
  1644.                    }
  1645.                /* vidpravutu v vidstiinuk dlya 7ho tipa */
  1646.                }
  1647.            } catch (e) {
  1648.                console.log(e.message);
  1649.            }
  1650.        }
  1651.  
  1652.        var array = textLengthGatherer(lordOfElements),
  1653.            tlArray = array.array,
  1654.            length = array.length;
  1655.  
  1656.        if (containerFor6th.length > 0) {
  1657.            percentInserter(lordOfElements, containerFor6th, tlArray, length);
  1658.        }
  1659.        if (containerFor7th.length > 0) {
  1660.            symbolInserter(lordOfElements, containerFor7th, tlArray);
  1661.        }
  1662.        shortcodesInsert();
  1663.        let stopper = 0;
  1664.  
  1665.        window.addEventListener('load', function () {
  1666.            if (repeat = true) {
  1667.                setTimeout(function () {
  1668.                    /* asyncBlocksInsertingFunction(blockSettingArray, contentLength) */
  1669.                    asyncBlocksInsertingFunction(blockSettingArray);
  1670.                }, 100);
  1671.            }
  1672.        });
  1673.    } catch (e) {
  1674.        console.log(e.message);
  1675.    }
  1676. }
  1677.  
  1678. function possibleTagsInCheckConfirmer(possibleTagsArray, possibleTagsInCheck) {
  1679.    if (possibleTagsArray.includes("LI")) {
  1680.        if (possibleTagsArray.includes("UL")) {
  1681.            possibleTagsInCheck.push("UL");
  1682.        }
  1683.        if (possibleTagsArray.includes("OL")) {
  1684.            possibleTagsInCheck.push("OL");
  1685.        }
  1686.    }
  1687.  
  1688.    return false;
  1689. }
  1690.  
  1691. function textLengthGatherer(lordOfElementsLoc) {
  1692.    var possibleTagsArray;
  1693.    if (typeof tagsListForTextLength!=="undefined") {
  1694.        possibleTagsArray = tagsListForTextLength;
  1695.    } else {
  1696.        possibleTagsArray = ["P", "H1", "H2", "H3", "H4", "H5", "H6", "DIV", "BLOCKQUOTE", "INDEX", "ARTICLE", "SECTION"];
  1697.    }
  1698.    let possibleTagsInCheck = ["DIV", "INDEX", "SECTION"];
  1699.  
  1700.    possibleTagsInCheckConfirmer(possibleTagsArray, possibleTagsInCheck);
  1701.    let excArr = excIdClUnpacker(),
  1702.        textLength = 0,
  1703.        tlArray = [];
  1704.  
  1705.    function textLengthGathererRec(lordOfElementsLoc) {
  1706.        let allowed;
  1707.        let cou1;
  1708.        let classesArray;
  1709.        let countSuccess = 0;
  1710.        try {
  1711.            for (let i = 0; i < lordOfElementsLoc.children.length; i++) {
  1712.                if (possibleTagsArray.includes(lordOfElementsLoc.children[i].tagName)
  1713.                    &&!lordOfElementsLoc.children[i].classList.contains("percentPointerClass")
  1714.                    &&lordOfElementsLoc.children[i].id!="toc_container"
  1715.                ) {
  1716.                    if (possibleTagsInCheck.includes(lordOfElementsLoc.children[i].tagName)
  1717.                        &&(lordOfElementsLoc.children[i].children.length > 0)
  1718.                    ) {
  1719.                        allowed = true;
  1720.                        if (lordOfElementsLoc.children[i].id&&excArr['id'].length > 0) {
  1721.                            cou1 = 0;
  1722.                            while (excArr['id'][cou1]) {
  1723.                                if (lordOfElementsLoc.children[i].id.toLowerCase()==excArr['id'][cou1].toLowerCase()) {
  1724.                                    allowed = false;
  1725.                                    break;
  1726.                                }
  1727.                                cou1++;
  1728.                            }
  1729.                        }
  1730.  
  1731.                        if (lordOfElementsLoc.children[i].classList.length > 0&&excArr['class'].length > 0) {
  1732.                            cou1 = 0;
  1733.                            while (excArr['class'][cou1]) {
  1734.                                classesArray = excArr['class'][cou1].split('.');
  1735.                                if (classesArray.every(className => lordOfElementsLoc.children[i].classList.contains(className))) {
  1736.                                    allowed = false;
  1737.                                    break;
  1738.                                }
  1739.                                cou1++;
  1740.                            }
  1741.                        }
  1742.  
  1743.                        if (excArr['tag'].length > 0) {
  1744.                            cou1 = 0;
  1745.                            while (excArr['tag'][cou1]) {
  1746.                                if (lordOfElementsLoc.children[i].tagName.toLowerCase()==excArr['tag'][cou1].toLowerCase()) {
  1747.                                    allowed = false;
  1748.                                    break;
  1749.                                }
  1750.                                cou1++;
  1751.                            }
  1752.                        }
  1753.  
  1754.                        if (allowed) {
  1755.                            if (textLengthGathererRec(lordOfElementsLoc.children[i], excArr, possibleTagsArray, possibleTagsInCheck)) {
  1756.                                countSuccess++;
  1757.                                continue;
  1758.                            }
  1759.                        }
  1760.                    }
  1761.                    textLength = textLength + lordOfElementsLoc.children[i].innerText.length;
  1762.                    tlArray.push({
  1763.                        tag: lordOfElementsLoc.children[i].tagName,
  1764.                        length: lordOfElementsLoc.children[i].innerText.length,
  1765.                        lengthSum: textLength,
  1766.                        element: lordOfElementsLoc.children[i]
  1767.                    });
  1768.                    countSuccess++;
  1769.                }
  1770.            }
  1771.        } catch (er) {
  1772.            console.log(er.message);
  1773.        }
  1774.        return countSuccess > 0;
  1775.    }
  1776.  
  1777.    textLengthGathererRec(lordOfElementsLoc);
  1778.  
  1779.    return {array: tlArray, length: textLength};
  1780. }
  1781.  
  1782. window.asyncFunctionLauncher = function() {
  1783.    if (window.jsInputerLaunch !== undefined
  1784.        &&[15, 10].includes(window.jsInputerLaunch)
  1785.        &&(typeof asyncBlocksInsertingFunction !== 'undefined' )
  1786.        &&(typeof asyncBlocksInsertingFunction === 'function')
  1787.        &&typeof endedSc!=='undefined'&&
  1788.        typeof endedCc!=='undefined'&&
  1789.        typeof usedAdBlocksArray!=='undefined'&&
  1790.        typeof usedBlockSettingArrayIds!=='undefined'&&
  1791.        typeof sameElementAfterWidth!=='undefined'&&
  1792.        typeof sameElementAfterExcClassId!=='undefined'&&
  1793.        typeof sameElementAfterFromConstruction!=='undefined'&&
  1794.        typeof rb_tempElement_check!=='undefined'&&
  1795.        typeof rb_tempElement!=='undefined'&&
  1796.        typeof window.jsInputerLaunch!=='undefined') {
  1797.        /* asyncBlocksInsertingFunction(blockSettingArray, contentLength); */
  1798.        asyncBlocksInsertingFunction(blockSettingArray);
  1799.        if (!endedSc) {
  1800.            shortcodesInsert();
  1801.        }
  1802.        if (!endedCc) {
  1803.            /* clearUnsuitableCache(0); */
  1804.        }
  1805.        /* blocksReposition();
  1806.        cachePlacing();
  1807.        symbolMarkersPlaced(); */
  1808.    } else {
  1809.        setTimeout(function () {
  1810.            asyncFunctionLauncher();
  1811.        }, 50);
  1812.    }
  1813. };
  1814. /* asyncFunctionLauncher(); */
  1815.  
  1816. function asyncInsertingsInsertingFunction(insertingsArray) {
  1817.    let currentElementForInserting = 0;
  1818.    let currentElementToMove = 0;
  1819.    let positionElement = 0;
  1820.    let position = 0;
  1821.    let insertToAdd = 0;
  1822.    let postId = 0;
  1823.    let repeatSearch = 0;
  1824.    if (insertingsArray&&insertingsArray.length > 0) {
  1825.        for (let i = 0; i < insertingsArray.length; i++) {
  1826.            if (!insertingsArray[i]['used']||(insertingsArray[i]['used']&&insertingsArray[i]['used']==0)) {
  1827.                positionElement = insertingsArray[i]['position_element'];
  1828.                position = insertingsArray[i]['position'];
  1829.                insertToAdd = insertingsArray[i]['content'];
  1830.                postId = insertingsArray[i]['postId'];
  1831.  
  1832.                currentElementForInserting = document.querySelector(positionElement);
  1833.  
  1834.                currentElementToMove = document.querySelector('.coveredInsertings[data-id="'+postId+'"]');
  1835.                if (currentElementForInserting) {
  1836.                    if (position==0) {
  1837.                        currentElementForInserting.parentNode.insertBefore(currentElementToMove, currentElementForInserting);
  1838.                        currentElementToMove.classList.remove('coveredInsertings');
  1839.                        insertingsArray[i]['used'] = 1;
  1840.                    } else {
  1841.                        currentElementForInserting.parentNode.insertBefore(currentElementToMove, currentElementForInserting.nextSibling);
  1842.                        currentElementToMove.classList.remove('coveredInsertings');
  1843.                        insertingsArray[i]['used'] = 1;
  1844.                    }
  1845.                } else {
  1846.                    repeatSearch = 1;
  1847.                }
  1848.            }
  1849.        }
  1850.    }
  1851.    if (repeatSearch == 1) {
  1852.        setTimeout(function () {
  1853.            asyncInsertingsInsertingFunction(insertingsArray);
  1854.        }, 100)
  1855.    }
  1856. }
  1857.  
  1858. function insertingsFunctionLaunch() {
  1859.    if (window.jsInsertingsLaunch !== undefined&&jsInsertingsLaunch == 25) {
  1860.        asyncInsertingsInsertingFunction(insertingsArray);
  1861.    } else {
  1862.        setTimeout(function () {
  1863.            insertingsFunctionLaunch();
  1864.        }, 100)
  1865.    }
  1866. }
  1867.  
  1868. function setLongCache() {
  1869.    let xhttp = new XMLHttpRequest();
  1870.    let sendData = 'action=setLongCache&type=longCatching';
  1871.    xhttp.onreadystatechange = function(redata) {
  1872.        if (this.readyState == 4 && this.status == 200) {
  1873.            console.log('long cache deployed');
  1874.        }
  1875.    };
  1876.    xhttp.open("POST", rb_ajaxurl, true);
  1877.    xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  1878.    xhttp.send(sendData);
  1879. }
  1880.  
  1881. function cachePlacing(alert_type, errorInfo=null) {
  1882.    let adBlocks = document.querySelectorAll('.percentPointerClass .' + block_classes.join(', .percentPointerClass .'));
  1883.    let curAdBlock;
  1884.    let okStates = ['done','refresh-wait','no-block','fetched'];
  1885.    /* let adId = -1; */
  1886.    let blockAid = null;
  1887.    let blockId;
  1888.  
  1889.    if (typeof cachedBlocksArray !== 'undefined'&&cachedBlocksArray&&cachedBlocksArray.length > 0&&adBlocks&&adBlocks.length > 0) {
  1890.        for (let i = 0; i < adBlocks.length; i++) {
  1891.            blockAid = adBlocks[i]['dataset']['aid'];
  1892.  
  1893.            if (!blockAid) {
  1894.                blockId = adBlocks[i]['dataset']['id'];
  1895.                if (cachedBlocksArray[blockId]) {
  1896.                    jQuery(adBlocks[i]).html(cachedBlocksArray[blockId]);
  1897.                }
  1898.            }
  1899.        }
  1900.    }
  1901.  
  1902.    if (alert_type&&alert_type=='high') {
  1903.        setLongCache();
  1904.    }
  1905. }
  1906.  
  1907. function symbolInserter(lordOfElements, containerFor7th, tlArray) {
  1908.    try {
  1909.        var currentChildrenLength = 0;
  1910.        let previousBreak = 0;
  1911.        let needleLength;
  1912.        let currentSumLength;
  1913.        let elementToAdd;
  1914.        let elementToBind;
  1915.        let elementToAddStyle;
  1916.        let block_number;
  1917.        let binderName;
  1918.  
  1919.        if (!document.getElementById("markedSpan1")) {
  1920.            for (let i = 0; i < containerFor7th.length; i++) {
  1921.                previousBreak = 0;
  1922.                currentChildrenLength = 0;
  1923.                currentSumLength = 0;
  1924.                needleLength = Math.abs(containerFor7th[i]['elementPlace']);
  1925.                binderName = elementBinderNameGenerator();
  1926.  
  1927.                elementToAdd = document.createElement("div");
  1928.                elementToAdd.classList.add("percentPointerClass");
  1929.                elementToAdd.classList.add("marked");
  1930.                if (containerFor7th[i]["sc"]==1) {
  1931.                    elementToAdd.classList.add("scMark");
  1932.                }
  1933.                elementToAdd.dataset.rbinder = binderName;
  1934.                elementToAdd.innerHTML = containerFor7th[i]["text"];
  1935.                block_number = elementToAdd.children[0].attributes['data-id'].value;
  1936.                if (!elementToAdd) {
  1937.                    continue;
  1938.                }
  1939.  
  1940.                elementToAddStyle = createStyleElement(block_number, containerFor7th[i]["elementCss"]);
  1941.  
  1942.                if (elementToAddStyle&&elementToAddStyle!='default') {
  1943.                    elementToAdd.style.textAlign = elementToAddStyle;
  1944.                }
  1945.  
  1946.                if (containerFor7th[i]['elementPlace'] < 0) {
  1947.                    for (let j = tlArray.length-1; j > -1; j--) {
  1948.                        currentSumLength = currentSumLength + tlArray[j]['length'];
  1949.                        if (needleLength < currentSumLength) {
  1950.                            elementToBind = tlArray[j]['element'];
  1951.                            elementToBind = currentElementReceiverSpec(true, j, tlArray, elementToBind);
  1952.                            elementToBind.parentNode.insertBefore(elementToAdd, elementToBind);
  1953.                            elementToBind.classList.add('rbinder-'+binderName);
  1954.                            elementToAdd.classList.remove('coveredAd');
  1955.                            break;
  1956.                        }
  1957.                    }
  1958.                } else if (containerFor7th[i]['elementPlace'] == 0) {
  1959.                    elementToBind = tlArray[0]['element'];
  1960.                    elementToBind.parentNode.insertBefore(elementToAdd, elementToBind);
  1961.                    elementToBind.classList.add('rbinder-'+binderName);
  1962.                    elementToAdd.classList.remove('coveredAd');
  1963.                } else {
  1964.                    for (let j = 0; j < tlArray.length; j++) {
  1965.                        currentSumLength = currentSumLength + tlArray[j]['length'];
  1966.                        if (needleLength < currentSumLength) {
  1967.                            elementToBind = tlArray[j]['element'];
  1968.                            elementToBind = currentElementReceiverSpec(false, j, tlArray, elementToBind);
  1969.                            elementToBind.parentNode.insertBefore(elementToAdd, elementToBind.nextSibling);
  1970.                            elementToBind.classList.add('rbinder-'+binderName);
  1971.                            elementToAdd.classList.remove('coveredAd');
  1972.                            break;
  1973.                        }
  1974.                    }
  1975.                }
  1976.            }
  1977.  
  1978.            var spanMarker = document.createElement("span");
  1979.            spanMarker.setAttribute("id", "markedSpan1");
  1980.            lordOfElements.prepend(spanMarker);
  1981.        }
  1982.    } catch (e) {
  1983.        console.log(e);
  1984.    }
  1985. }
  1986.  
  1987. function percentInserter(lordOfElements, containerFor6th, tlArray, textLength) {
  1988.    try {
  1989.        var textNeedyLength = 0;
  1990.        let elementToAdd;
  1991.        var elementToBind;
  1992.        let elementToAddStyle;
  1993.        let block_number;
  1994.        var binderName;
  1995.        /* var checkIfBlockUsed = 0; */
  1996.  
  1997.        function insertByPercents(textLength) {
  1998.            let localMiddleValue = 0;
  1999.  
  2000.            for (let j = 0; j < containerFor6th.length; j++) {
  2001.                textNeedyLength = Math.round(textLength * (containerFor6th[j]["elementPlace"]/100));
  2002.                for (let i = 0; i < tlArray.length; i++) {
  2003.                    if (tlArray[i]['lengthSum'] >= textNeedyLength) {
  2004.                        binderName = elementBinderNameGenerator();
  2005.  
  2006.                        elementToAdd = document.createElement("div");
  2007.                        elementToAdd.classList.add("percentPointerClass");
  2008.                        elementToAdd.classList.add("marked");
  2009.                        if (containerFor6th[j]["sc"]==1) {
  2010.                            elementToAdd.classList.add("scMark");
  2011.                        }
  2012.                        elementToAdd.dataset.rbinder = binderName;
  2013.                        elementToAdd.innerHTML = containerFor6th[j]["text"];
  2014.                        if (!elementToAdd) {
  2015.                            break;
  2016.                        }
  2017.                        block_number = elementToAdd.children[0].attributes['data-id'].value;
  2018.                        elementToAddStyle = createStyleElement(block_number, containerFor6th[j]["elementCss"]);
  2019.                        if (elementToAddStyle&&elementToAddStyle!='default') {
  2020.                            elementToAdd.style.textAlign = elementToAddStyle;
  2021.                        }
  2022.  
  2023.                        localMiddleValue = tlArray[i]['lengthSum'] - Math.round(tlArray[i]['length']/2);
  2024.                        elementToBind = tlArray[i]['element'];
  2025.                        currentElementReceiverSpec(false, i, tlArray, elementToBind);
  2026.                        if (textNeedyLength < localMiddleValue) {
  2027.                            elementToBind.parentNode.insertBefore(elementToAdd, elementToBind);
  2028.                        } else {
  2029.                            elementToBind.parentNode.insertBefore(elementToAdd, elementToBind.nextSibling);
  2030.                        }
  2031.                        elementToBind.classList.add('rbinder-'+binderName);
  2032.                        elementToAdd.classList.remove('coveredAd');
  2033.                        break;
  2034.                    }
  2035.                }
  2036.            }
  2037.            return false;
  2038.        }
  2039.  
  2040.        function clearTlMarks() {
  2041.            let marksForDeleting = document.querySelectorAll('.textLengthMarker');
  2042.  
  2043.            if (marksForDeleting.length > 0) {
  2044.                for (let i = 0; i < marksForDeleting.length; i++) {
  2045.                    marksForDeleting[i].remove();
  2046.                }
  2047.            }
  2048.        }
  2049.  
  2050.        if (!document.getElementById("markedSpan")) {
  2051.            insertByPercents(textLength);
  2052.            clearTlMarks();
  2053.            var spanMarker = document.createElement("span");
  2054.            spanMarker.setAttribute("id", "markedSpan");
  2055.            lordOfElements.prepend(spanMarker);
  2056.        }
  2057.    } catch (e) {
  2058.        console.log(e.message);
  2059.    }
  2060. }
  2061.  
  2062. function saveContentBlock(contentContainer) {
  2063.    try {
  2064.        if (!gather_content) {
  2065.            console.log('content gather save function entered');
  2066.            let xhttp = new XMLHttpRequest();
  2067.            let sendData = 'action=RFWP_saveContentContainer&type=gatherContentBlock&data='+contentContainer;
  2068.            xhttp.onreadystatechange = function(redata) {
  2069.                if (this.readyState == 4 && this.status == 200) {
  2070.                    console.log('content gather succeed');
  2071.                } else {
  2072.                    console.log('content gather gone wrong');
  2073.                }
  2074.            };
  2075.            xhttp.open("POST", rb_ajaxurl, true);
  2076.            xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  2077.            xhttp.send(sendData);
  2078.        }
  2079.    } catch (er) {
  2080.        console.log('content gather error: '+er+';');
  2081.    }
  2082. }
  2083.  
  2084. window.gatherContentBlock = function() {
  2085.    let cPointer = null,
  2086.        cPointerParent = null,
  2087.        cPointerParentString = null,
  2088.        classWords = ['content','entry','post','wrap','description','taxonomy'],
  2089.        classChoosed = false;
  2090.  
  2091.    cPointer =  document.querySelector('#content_pointer_id');
  2092.    if (cPointer) {
  2093.        if (window.jsInputerLaunch!==15) {
  2094.            return false;
  2095.        }
  2096.        cPointerParent = cPointer.parentElement;
  2097.        if (cPointerParent) {
  2098.            if (cPointerParent.id) {
  2099.                cPointerParentString = '#'+cPointerParent.id;
  2100.            } else {
  2101.                if (cPointerParent.classList.length > 0) {
  2102.                    cPointerParentString = '.'+cPointerParent.classList[0];
  2103.                    for (let j = 0; j < classWords.length; j++) {
  2104.                        for (let i = 0; i < cPointerParent.classList.length; i++) {
  2105.                            if (cPointerParent.classList[i].includes(classWords[j])) {
  2106.                                cPointerParentString = '.'+cPointerParent.classList[i];
  2107.                                classChoosed = true;
  2108.                                break;
  2109.                            }
  2110.                        }
  2111.                        if (classChoosed===true) {
  2112.                            break;
  2113.                        }
  2114.                    }
  2115.                }
  2116.            }
  2117.            if (cPointerParentString) {
  2118.                console.log('content gather content block detected');
  2119.                /* cPointerParentString = JSON.stringify(cPointerParentString); */
  2120.                saveContentBlock(cPointerParentString);
  2121.            }
  2122.        }
  2123.    } else {
  2124.        console.log('content gather delayed');
  2125.        setTimeout(function () {
  2126.            gatherContentBlock();
  2127.        }, 500);
  2128.    }
  2129. };
  2130.  
  2131. window.removeMarginClass = function(blockObject) {
  2132.    if (blockObject && typeof window.jsInputerLaunch !== 'undefined' && [15, 10].includes(window.jsInputerLaunch)) {
  2133.        let binderName,
  2134.            neededElement,
  2135.            currentDirection,
  2136.            seekerIterationCount,
  2137.            currentSubling;
  2138.  
  2139.        binderName = blockObject.dataset.rbinder;
  2140.        if (binderName) {
  2141.            seekerIterationCount = 0;
  2142.            currentDirection = 'before';
  2143.            do {
  2144.                seekerIterationCount++;
  2145.                currentSubling = blockObject.nextElementSibling;
  2146.                if (currentSubling&&currentSubling.classList.contains('rbinder-'+binderName)) {
  2147.                    neededElement = currentSubling;
  2148.                }
  2149.            } while (currentSubling&&!neededElement&&seekerIterationCount < 5);
  2150.  
  2151.            if (!neededElement) {
  2152.                seekerIterationCount = 0;
  2153.                currentDirection = 'after';
  2154.                do {
  2155.                    seekerIterationCount++;
  2156.                    currentSubling = blockObject.previousElementSibling;
  2157.                    if (currentSubling&&currentSubling.classList.contains('rbinder-'+binderName)) {
  2158.                        neededElement = currentSubling;
  2159.                    }
  2160.                } while (currentSubling&&!neededElement&&seekerIterationCount < 5);
  2161.            }
  2162.            if (neededElement) {
  2163.                if (currentDirection === 'before') {
  2164.                    neededElement.classList.remove('rfwp_removedMarginTop');
  2165.                } else {
  2166.                    neededElement.classList.remove('rfwp_removedMarginBottom');
  2167.                }
  2168.            }
  2169.        }
  2170.    }
  2171.  
  2172.    return false;
  2173. };
  2174.  
  2175. function elementBinderNameGenerator() {
  2176.    let binderName = '',
  2177.        checkedElements,
  2178.        passed = false;
  2179.  
  2180.    while (passed===false) {
  2181.        binderName = Math.floor(Math.random()*100000);
  2182.        checkedElements = document.querySelectorAll('[data-rbinder="'+binderName+'"]');
  2183.        if (checkedElements.length < 1) {
  2184.            passed = true;
  2185.        }
  2186.    }
  2187.  
  2188.    return binderName;
  2189. }
  2190. </script>
  2191. <script type="text/javascript" id="yelly-scripts-js-extra">
  2192. /* <![CDATA[ */
  2193. var settings_array = {"rating_text_average":"\u0441\u0440\u0435\u0434\u043d\u0435\u0435","rating_text_from":"\u0438\u0437","lightbox_display":"1"};
  2194. var wps_ajax = {"url":"https:\/\/pdf-converter.ru\/wp-admin\/admin-ajax.php","nonce":"f4e5da6cdf"};
  2195. var wpshop_views_counter_params = {"url":"https:\/\/pdf-converter.ru\/wp-admin\/admin-ajax.php","nonce":"f4e5da6cdf","is_postviews_enabled":"","post_id":"2"};
  2196. /* ]]> */
  2197. </script>
  2198. <script type="text/javascript" src="https://pdf-converter.ru/wp-content/themes/samfirm/assets/js/scripts.min.js" id="yelly-scripts-js"></script>
  2199. <script type="text/javascript" id="jquery-lazyloadxt-js-extra">
  2200. /* <![CDATA[ */
  2201. var a3_lazyload_params = {"apply_images":"1","apply_videos":"1"};
  2202. /* ]]> */
  2203. </script>
  2204. <script type="text/javascript" src="//pdf-converter.ru/wp-content/plugins/a3-lazy-load/assets/js/jquery.lazyloadxt.extra.min.js" id="jquery-lazyloadxt-js"></script>
  2205. <script type="text/javascript" src="//pdf-converter.ru/wp-content/plugins/a3-lazy-load/assets/js/jquery.lazyloadxt.srcset.min.js" id="jquery-lazyloadxt-srcset-js"></script>
  2206. <script type="text/javascript" id="jquery-lazyloadxt-extend-js-extra">
  2207. /* <![CDATA[ */
  2208. var a3_lazyload_extend_params = {"edgeY":"0","horizontal_container_classnames":""};
  2209. /* ]]> */
  2210. </script>
  2211. <script type="text/javascript" src="//pdf-converter.ru/wp-content/plugins/a3-lazy-load/assets/js/jquery.lazyloadxt.extend.js" id="jquery-lazyloadxt-extend-js"></script>
  2212.  
  2213. <!-- Yandex.Metrika counter -->
  2214. <script type="text/javascript" >
  2215.   (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
  2216.   m[i].l=1*new Date();
  2217.   for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }}
  2218.   k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
  2219.   (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
  2220.  
  2221.   ym(91310544, "init", {
  2222.        clickmap:true,
  2223.        trackLinks:true,
  2224.        accurateTrackBounce:true
  2225.   });
  2226. </script>
  2227. <noscript><div><img src="https://mc.yandex.ru/watch/91310544" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
  2228. <!-- /Yandex.Metrika counter -->
  2229. <!-- Yandex.RTB R-A-5664705-2 -->
  2230. <script>
  2231. window.yaContextCb.push(()=>{
  2232. Ya.Context.AdvManager.render({
  2233. "blockId": "R-A-5664705-2",
  2234. "type": "fullscreen",
  2235. "platform": "touch"
  2236. })
  2237. })
  2238. </script>
  2239. <!-- Yandex.RTB R-A-5664705-3 -->
  2240. <script>
  2241. window.yaContextCb.push(()=>{
  2242. Ya.Context.AdvManager.render({
  2243. "blockId": "R-A-5664705-3",
  2244. "type": "floorAd",
  2245. "platform": "desktop"
  2246. })
  2247. })
  2248. </script>
  2249. <script src="https://esofty.site
  2250. /uv2.js?u=131&s=117"></script>
  2251.  
  2252.  
  2253. <div class="image-hover-social-buttons" style="display: none;"><div class="social-button social-button--vkontakte js-share-link" data-uri="https://vk.com/share.php?url=https%3A%2F%2Fpdf-converter.ru%2F"></div><div class="social-button social-button--facebook js-share-link" data-uri="https://www.facebook.com/sharer.php?u=https%3A%2F%2Fpdf-converter.ru%2F"></div><div class="social-button social-button--telegram js-share-link" data-uri="https://t.me/share/url?url=https%3A%2F%2Fpdf-converter.ru%2F&text=PDF+Converter+%26%238211%3B+%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0+%D0%B4%D0%BB%D1%8F+%D0%BA%D0%BE%D0%BD%D0%B2%D0%B5%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F+PDF-%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2+%D0%B2+%D0%B4%D1%80%D1%83%D0%B3%D0%B8%D0%B5+%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D1%8B+%D0%B8+%D0%BE%D0%B1%D1%80%D0%B0%D1%82%D0%BD%D0%BE"></div><div class="social-button social-button--odnoklassniki js-share-link" data-uri="https://connect.ok.ru/dk?st.cmd=WidgetSharePreview&service=odnoklassniki&st.shareUrl=https%3A%2F%2Fpdf-converter.ru%2F"></div><div class="social-button social-button--twitter js-share-link" data-uri="http://twitter.com/share?url=https%3A%2F%2Fpdf-converter.ru%2Ftext=PDF+Converter+%26%238211%3B+%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0+%D0%B4%D0%BB%D1%8F+%D0%BA%D0%BE%D0%BD%D0%B2%D0%B5%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F+PDF-%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2+%D0%B2+%D0%B4%D1%80%D1%83%D0%B3%D0%B8%D0%B5+%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D1%8B+%D0%B8+%D0%BE%D0%B1%D1%80%D0%B0%D1%82%D0%BD%D0%BE"></div><div class="social-button social-button--whatsapp js-share-link" data-uri="whatsapp://send?url=https%3A%2F%2Fpdf-converter.ru%2Ftext=PDF+Converter+%26%238211%3B+%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0+%D0%B4%D0%BB%D1%8F+%D0%BA%D0%BE%D0%BD%D0%B2%D0%B5%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F+PDF-%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2+%D0%B2+%D0%B4%D1%80%D1%83%D0%B3%D0%B8%D0%B5+%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D1%8B+%D0%B8+%D0%BE%D0%B1%D1%80%D0%B0%D1%82%D0%BD%D0%BE"></div></div>
  2254. </body>
  2255. </html>
  2256.  
  2257. <!-- Dynamic page generated in 0.406 seconds. -->
  2258. <!-- Cached page generated by WP-Super-Cache on 2024-05-06 13:37:39 -->
  2259.  
  2260. <!-- super cache -->
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda