<!doctype html><html ⚡ lang="en-US"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><meta name="msvalidate.01" content="CECF9CA25218893043B1867B145EE0D7"><meta name="referrer" content="no-referrer-when-downgrade"><meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1'><title>Java PDF Blog | IDR Solutions</title><meta name="description" content="This blog is written by the developers at IDRsolutions about all things related to PDF, Java, HTML5, SVG and other tech related topics. It includes tutorials on the PDF format, interesting links, things we discover, moans about Java or PDF and things we find out in the course of developing and maintaining a PDF library written in Java.">
<link rel="canonical" href="https://blog.idrsolutions.com/">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Java PDF Blog | IDR Solutions"><meta name="twitter:description" content="This blog is written by the developers at IDRsolutions about all things related to PDF, Java, HTML5, SVG and other tech related topics. It includes tutorials on the PDF format, interesting links, things we discover, moans about Java or PDF and things we find out in the course of developing and maintaining a PDF library written in Java.">
<meta name="twitter:site" content="@JavaPDF">
<meta property="og:type" content="website">
<meta property="og:title" content="Java PDF Blog | IDR Solutions">
<meta property="og:url" content="https://blog.idrsolutions.com/">
<meta property="og:site_name" content="Java PDF Blog"><meta property="og:description" content="This blog is written by the developers at IDRsolutions about all things related to PDF, Java, HTML5, SVG and other tech related topics. It includes tutorials on the PDF format, interesting links, things we discover, moans about Java or PDF and things we find out in the course of developing and maintaining a PDF library written in Java.">
<meta property="og:image" content="https://blog.idrsolutions.com/app/uploads/2018/12/idr-logo.jpg">
<meta property="og:image:width" content="400">
<meta property="og:image:height" content="400">
<meta property="og:image:alt" content="idr">
<script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@id":"https://blog.idrsolutions.com/","@type":"CollectionPage","about":{"@id":"https://blog.idrsolutions.com/#organization"},"breadcrumb":{"@id":"https://blog.idrsolutions.com/#breadcrumb"},"description":"This blog is written by the developers at IDRsolutions about all things related to PDF, Java, HTML5, SVG and other tech related topics. It includes tutorials on the PDF format, interesting links, things we discover, moans about Java or PDF and things we find out in the course of developing and maintaining a PDF library written in Java.","inLanguage":"en-US","isPartOf":{"@id":"https://blog.idrsolutions.com/#website"},"name":"Java PDF Blog | IDR Solutions","url":"https://blog.idrsolutions.com/"},{"@id":"https://blog.idrsolutions.com/#breadcrumb","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","name":"Home","position":1}]},{"@id":"https://blog.idrsolutions.com/#website","@type":"WebSite","description":"PDF tips and JPedal highlights","inLanguage":"en-US","name":"IDRsolutions Blog","potentialAction":[{"@type":"SearchAction","query-input":{"@type":"PropertyValueSpecification","valueName":"search_term_string","valueRequired":true},"target":{"@type":"EntryPoint","urlTemplate":"https://blog.idrsolutions.com/?s={search_term_string}"}}],"publisher":{"@id":"https://blog.idrsolutions.com/#organization"},"url":"https://blog.idrsolutions.com/"},{"@id":"https://blog.idrsolutions.com/#organization","@type":"Organization","image":{"@id":"https://blog.idrsolutions.com/#/schema/logo/image/"},"logo":{"@id":"https://blog.idrsolutions.com/#/schema/logo/image/","@type":"ImageObject","caption":"IDR Solutions","contentUrl":"https://blog.idrsolutions.com/app/uploads/2018/12/idr-logo.jpg","height":400,"inLanguage":"en-US","url":"https://blog.idrsolutions.com/app/uploads/2018/12/idr-logo.jpg","width":400},"name":"IDR Solutions","sameAs":["https://www.facebook.com/idrsolutions","https://x.com/JavaPDF","https://www.linkedin.com/company/idrsolutions","https://www.youtube.com/user/idrsolutions"],"url":"https://blog.idrsolutions.com/"}]}</script>
<link rel='dns-prefetch' href='//cdnjs.cloudflare.com'><link rel='dns-prefetch' href='//maxcdn.bootstrapcdn.com'><link rel="alternate" type="application/rss+xml" title="Java PDF Blog &#187; Feed" href="https://blog.idrsolutions.com/feed/"><link rel="alternate" type="application/rss+xml" title="Java PDF Blog &#187; Comments Feed" href="https://blog.idrsolutions.com/comments/feed/"><style id="wp-img-auto-sizes-contain-inline-css">img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}</style><style id="wp-block-library-inline-css">:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media(min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap !important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal !important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html:where(.has-border-color){border-style:solid}html:where([style*=border-color]){border-style:solid}html:where([style*=border-top-color]){border-top-style:solid}html:where([style*=border-right-color]){border-right-style:solid}html:where([style*=border-bottom-color]){border-bottom-style:solid}html:where([style*=border-left-color]){border-left-style:solid}html:where([style*=border-width]){border-style:solid}html:where([style*=border-top-width]){border-top-style:solid}html:where([style*=border-right-width]){border-right-style:solid}html:where([style*=border-bottom-width]){border-bottom-style:solid}html:where([style*=border-left-width]){border-left-style:solid}html:where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html:where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html:where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}}</style><style id="classic-theme-styles-inline-css">.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}</style><style id="global-styles-inline-css">:root{--wp--preset--aspect-ratio--square:1;--wp--preset--aspect-ratio--4-3:4/3;--wp--preset--aspect-ratio--3-4:3/4;--wp--preset--aspect-ratio--3-2:3/2;--wp--preset--aspect-ratio--2-3:2/3;--wp--preset--aspect-ratio--16-9:16/9;--wp--preset--aspect-ratio--9-16:9/16;--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,rgb(6,147,227) 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,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red:linear-gradient(135deg,rgb(255,105,0) 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:13px;--wp--preset--font-size--medium:20px;--wp--preset--font-size--large:36px;--wp--preset--font-size--x-large:42px;--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 rgb(255,255,255),6px 6px rgb(0,0,0);--wp--preset--shadow--crisp:6px 6px 0px rgb(0,0,0)}:where(body){margin:0}:where(.is-layout-flex){gap:.5em}:where(.is-layout-grid){gap:.5em}body .is-layout-flex{display:flex}.is-layout-flex{flex-wrap:wrap;align-items:center}.is-layout-flex>:is(*,div){margin:0}body .is-layout-grid{display:grid}.is-layout-grid>:is(*,div){margin:0}body{padding-top:0;padding-right:0;padding-bottom:0;padding-left:0}:root:where(.wp-element-button,.wp-block-button__link){background-color:#32373c;border-width:0;color:#fff;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;padding-top:calc(.667em + 2px);padding-right:calc(1.333em + 2px);padding-bottom:calc(.667em + 2px);padding-left:calc(1.333em + 2px);text-decoration:none;text-transform:inherit}.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}</style><link rel='stylesheet' id='bootstrap4-css' href='/app/themes/mediumish/assets/css/bootstrap.min.css' media='all'><link crossorigin="anonymous" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" rel='stylesheet' id='fontawesome-css' href='https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css' media='all'><link rel='stylesheet' id='mediumish-style-css' href='/app/themes/mediumish-child-theme/style.css?ver=7.0-1.4.4' media='all'><link rel='stylesheet' id='customizer-css-css' href='/app/themes/mediumish-child-theme/inc/customizer.css?ver=0.0.1' media='all'><style id="customizer-css-inline-css">@font-face{font-family:merriweather;font-style:normal;font-weight:400;src:url(/app/themes/mediumish-child-theme/assets/fonts/merriweather-latin-400-normal.woff2)}@font-face{font-family:merriweather;font-style:normal;font-weight:700;src:url(/app/themes/mediumish-child-theme/assets/fonts/merriweather-latin-700-normal.woff2)}@font-face{font-family:montserrat;font-style:normal;font-weight:400;src:url(/app/themes/mediumish-child-theme/assets/fonts/montserrat-latin-400-normal.woff2)}@font-face{font-family:pt sans;font-style:normal;font-weight:700;src:url(/app/themes/mediumish-child-theme/assets/fonts/pt-sans-latin-700-normal.woff2)}body,.carousel-excerpt .fontlight{font-family:PT Sans,serif;font-size:15px;line-height:1.5;color:#666;font-weight:400;font-style:normal}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:PT Sans,serif;color:#111}.carousel-excerpt .title{font-family:PT Sans,serif}.carousel-excerpt .fontlight{}.mediumnavigation .navbar-brand{font-family:Merriweather,serif}.navbar-toggleable-md .navbar-collapse{font-family:Montserrat,serif;font-weight:400;font-style:normal}.article-post{font-family:Merriweather,serif;line-height:1.8;color:#222;font-weight:400;font-style:normal}.btn-simple{background-color:#099cff;border-color:#099cff}.prevnextlinks a,.article-post a,.post .btn.follow,.post .post-top-meta .author-description a,article.page a,.alertbar a{color:#099cff}.post .btn.follow,.alertbar input[type=submit]{border-color:#099cff}blockquote{border-color:#099cff}.entry-content input[type=submit],.alertbar input[type=submit]{background-color:#099cff;border-color:#099cff}p.sharecolour{color:}.shareitnow ul li a svg,.shareitnow a{fill:}.shareitnow li a{color:;border-color:}#comments a{color:#099cff}.comment-form input.submit{background-color:#099cff;border-color:#099cff}footer.footer a{color:#099cff}.mediumnavigation,.dropdown-menu,.dropdown-item{background-color:}@media(max-width:767px){.navbar-collapse{background-color:}}.mediumnavigation,.mediumnavigation a,.navbar-light .navbar-nav .nav-link{color:}.navbar-light .navbar-brand{color:}.navbar-light .navbar-brand:hover{color:#099cff}.customarea .btn.follow{border-color:#099cff;color:#099cff}.search-form .search-submit{background-color:#099cff;border-color:}.search-form .search-submit .fa{color:}.search-form .search-field,.search-form .search-field::placeholder{color:}</style><link rel='stylesheet' id='style-style-css' href='/app/themes/mediumish-child-theme/output-css/style.css?ver=1782135776' media='all'><script id="jquery-core-js" src="/wp/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script><script id="tabbed-blocks-js" src="/app/themes/mediumish-child-theme/assets/js/tabbed-block.js?ver=1.2.0"></script><link rel="https://api.w.org/" href="https://blog.idrsolutions.com/wp-json/"><link rel="alternate" title="JSON" type="application/json" href="https://blog.idrsolutions.com/wp-json/wp/v2/categories/8"><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://blog.idrsolutions.com/wp/xmlrpc.php?rsd"><meta name="generator" content="WordPress 7.0"><link type="text/css" rel="stylesheet" href="/app/plugins/category-specific-rss-feed-menu/wp_cat_rss_style.css"><meta property="og:locale" content="en_US"><link rel="icon" href="/app/uploads/2018/12/idr-logo-150x150.jpg" sizes="32x32"><link rel="icon" href="/app/uploads/2018/12/idr-logo-300x300.jpg" sizes="192x192"><link rel="apple-touch-icon" href="/app/uploads/2018/12/idr-logo-300x300.jpg"><meta name="msapplication-TileImage" content="https://blog.idrsolutions.com/app/uploads/2018/12/idr-logo-300x300.jpg"><style id="wp-custom-css">.entry-categories-inner{display:none}html{scroll-padding-top:8rem}div.share{display:none}.ad-sect{background-color:#fafafa;padding:12px;border:1px solid #d3d3d3}.ad-sect:empty{display:none}</style>
<script>window._paq=window._paq||[];function needsEngagementCheck(){const e=navigator.userAgent,t=e.match(/Chrome\/(\d+)/);return t}function resolutionCheck(){const e=parseInt(window.screen.width,10),t=parseInt(window.screen.height,10);return e==800&&t==600}function initMatomo(){window._paq.push(["disableCookies"]),function(){t="https://idrsolutions.matomo.cloud/",window._paq.push(["setTrackerUrl",t+"matomo.php"]),window._paq.push(["setSiteId","3"]);var t,n=document,e=n.createElement("script"),s=n.getElementsByTagName("script")[0];e.async=!0,e.src="//cdn.matomo.cloud/idrsolutions.matomo.cloud/matomo.js",s.parentNode.insertBefore(e,s)}(),window.is404&&(window._paq.push(["setCustomUrl",document.location.origin+"/404"]),window._paq.push(["setDocumentTitle",`404/URL = ${document.location.pathname}`])),window._paq.push(["setDomains",["*.idrsolutions.com"]]),window._paq.push(["enableCrossDomainLinking"]),window._paq.push(["trackPageView"]),window._paq.push(["enableLinkTracking"])}if(needsEngagementCheck()){let e=!1;function onEngagement(t){if(e)return;if(e=!0,t==="onTimeout"&&resolutionCheck())return;initMatomo()}document.addEventListener("mousemove",()=>onEngagement("mousemove"),{once:!0}),document.addEventListener("scroll",()=>onEngagement("scroll"),{once:!0}),document.addEventListener("keydown",()=>onEngagement("keydown"),{once:!0}),document.addEventListener("touchstart",()=>onEngagement("touchstart"),{once:!0}),setTimeout(()=>onEngagement("onTimeout"),1e4)}else initMatomo();(function(){var t=function(e){var n,t=e.target.dataset;t.ec&&t.ea&&(n=["trackEvent",t.ec,t.ea],t.el&&n.push(t.el),window._paq&&window._paq.push(n))};if(document.addEventListener("click",t),document.addEventListener("auxclick",t),window.addEventListener("load",function(){document.querySelectorAll("[data-ecv]").forEach(e=>{new IntersectionObserver(function(t,n){if(t[0].isIntersecting){n.unobserve(e);var s=e.dataset,o=["trackEvent",s.ecv,s.eav];s.elv&&o.push(s.elv),window._paq&&window._paq.push(o)}}).observe(e)})}),window.is404){function e(e){window._paq.push(["trackEvent","Engagement Check",e])}document.addEventListener("mousemove",()=>e("mousemove"),{once:!0}),document.addEventListener("scroll",()=>e("scroll"),{once:!0}),document.addEventListener("keydown",()=>e("keydown"),{once:!0}),document.addEventListener("touchstart",()=>e("touchstart"),{once:!0}),setTimeout(()=>e("onTimeout"),1e4)}})()</script>
</head><body class="home blog wp-theme-mediumish wp-child-theme-mediumish-child-theme"><style></style><header class="site-header sticky-top" role="banner"> <nav class="navbar navbar-expand-lg navbar-light bg-white py-2"> <div class="container"> <a class="navbar-brand py-0 mw-75" rel="author" href="/" data-ec="Top page links" data-ea="Logo button link click"><img src='/app/uploads/2018/06/IDRsmall.png' alt='Java PDF Blog'></a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarSupportedContent"> <div class="navbar-nav ml-auto"> <div class="nav-item"> <div class="nav-link"> <form role="search" method="get" class="search-form" action="/"> <input type="search" class="search-field" placeholder="Search..." name="s" title="Search for:"> <button type="submit" class="search-submit"> <i class="fa fa-search"></i> </button></form> </div> </div> </div> </div> </div> </nav> <nav class="navbar bg-white pt-2"> <div style="flex-direction:row" class="container navbar-nav"> <div class="nav-item"> <a class="nav-link" href="/understanding-the-pdf-file-format/" data-ec="Top page links" data-ea="Learn More About PDF Files" data-el="Learn More About PDF Files">Learn More About PDF Files</a> </div> <div class="nav-item"> <a class="nav-link" href="/working-with-pdf-files-in-java/" data-ec="Top page links" data-ea="Working with PDFs in Java" data-el="Working with PDFs in Java">Working with PDFs in Java</a> </div> <div class="nav-item"> <a class="nav-link" href="/working-with-images-in-java/" data-ec="Top page links" data-ea="Working with Images in Java" data-el="Working with Images in Java">Working with Images in Java</a> </div> <div class="nav-item"> <a class="nav-link" href="https://www.idrsolutions.com/about-us" target="_blank" data-ec="Top page links" data-ea="About Us" data-el="About Us">About Us</a> </div> </div> </nav></header>
<div class="site-content">
<div class="container">
<h1 class="text-center" style="font-family:Helvetica,sans-serif">Welcome to the IDRsolutions Blog!</h1><div class="row"> <div class="col-12 col-lg-8 d-flex flex-column mt-3"> <h2 style="font-family:Helvetica,sans-serif">Meet the Team</h2> <img width="1024" height="576" src="/app/uploads/2025/09/idr-team-1024x576.png" class="my-1 mb-3" alt="The IDR Team" decoding="async" fetchpriority="high" srcset="/app/uploads/2025/09/idr-team-1024x576.png 1024w, /app/uploads/2025/09/idr-team-300x169.png 300w, /app/uploads/2025/09/idr-team-768x432.png 768w, /app/uploads/2025/09/idr-team-1536x864.png 1536w, /app/uploads/2025/09/idr-team.png 1920w" sizes="(max-width: 1024px) 100vw, 1024px"> <p> We’re a team of developers and tech enthusiasts solving tricky document problems, so you don’t have to. IDRsolutions was born from our struggles with integrating PDFs and images into applications. We built tools to simplify the process, and now companies worldwide rely on them to streamline their workflows. Here, we share what we’ve learned along the way to help you spend less time wrestling with documents and more time building great applications. </p> <h2 style="font-family:Helvetica,sans-serif">Recent Posts</h2>
<div class="d-flex flex-column listrecent listrelated">
<div class="grid-item" id="post-">
<div class="card post flex-row"> <a class="thumbimage w-50 align-items-center" href="/what-is-heif-vs-heic/"><img width='300' height='236' src='/app/uploads/2020/09/HEIC-300x236.png' class='card-img' alt='HEIC file format logo' decoding='async' srcset='/app/uploads/2020/09/HEIC-300x236.png 300w, /app/uploads/2020/09/HEIC-768x605.png 768w, /app/uploads/2020/09/HEIC-1024x806.png 1024w, /app/uploads/2020/09/HEIC.png 1541w' sizes='(max-width: 300px) 100vw, 300px'></a><div class="card-block">
<h2 class="card-title"><a href="/what-is-heif-vs-heic/">What is HEIF? HEIF vs HEIC</a></h2> <span class="card-text d-block">HEIF is a container format for images. HEIC is a HEIF file whose pixels were coded with HEVC, which is what your iPhone produces. The distinction explains most of the trouble people have with these files&mldr;</span>
<div class="wrapfooter"> <span class="meta-footer-thumb"> <a href="/author/amy/"><img alt src='/app/uploads/2025/02/avatar-53.jpg' class='avatar avatar-40 photo author-thumb' height='40' width='40' loading='lazy' decoding='async'></a> </span> <span class="author-meta"> <span class="post-name"><a href="/author/amy/">Amy Pearson</a></span><br> <span class="post-date">Last Modified: Oct 22, 2026</span> <span class="dot"></span> <span class="readingtime">7 min read</span> </span> <span class="post-read-more"> <a href="/what-is-heif-vs-heic/" title="Read Story"> <svg class="svgIcon-use" width="25" height="25" viewBox="0 0 25 25"><path d="M19 6c0-1.1-.9-2-2-2H8c-1.1.0-2 .9-2 2v14.66h.012c.01.103.045.204.12.285a.5.5.0 00.706.03L12.5 16.85l5.662 4.126a.508.508.0 00.708-.03.5.5.0 00.118-.285H19V6zm-6.838 9.97L7 19.636V6c0-.55.45-1 1-1h9c.55.0 1 .45 1 1v13.637l-5.162-3.668a.49.49.0 00-.676.0z" fill-rule="evenodd"/></svg> </a> </span>
</div>
</div>
</div>
</div>
<div class="grid-item" id="post-">
<div class="card post flex-row"> <a class="thumbimage w-50 align-items-center" href="/convert-pdf-to-pdfa-archiving-compliance/"><img width='300' height='165' src='/app/uploads/2018/06/jpedal-300x165.png' class='card-img' alt='JPedal Java PDF library logo' decoding='async' srcset='/app/uploads/2018/06/jpedal-300x165.png 300w, /app/uploads/2018/06/jpedal.png 759w' sizes='(max-width: 300px) 100vw, 300px'></a><div class="card-block">
<h2 class="card-title"><a href="/convert-pdf-to-pdfa-archiving-compliance/">PDF/A Compliance in Java: JPedal Now Converts PDF to PDF/A-3b</a></h2> <span class="card-text d-block">The September release of JPedal (2026.09) adds PDF to PDF/A-3b conversion, and JPedal can also validate PDF files against the Arlington PDF Model&mldr;</span>
<div class="wrapfooter"> <span class="meta-footer-thumb"> <a href="/author/jacob-collins/"><img alt src='/app/uploads/2025/02/avatar-58.jpg' class='avatar avatar-40 photo author-thumb' height='40' width='40' loading='lazy' decoding='async'></a> </span> <span class="author-meta"> <span class="post-name"><a href="/author/jacob-collins/">Jacob Collins</a></span><br> <span class="post-date">Last Modified: Oct 13, 2026</span> <span class="dot"></span> <span class="readingtime">3 min read</span> </span> <span class="post-read-more"> <a href="/convert-pdf-to-pdfa-archiving-compliance/" title="Read Story"> <svg class="svgIcon-use" width="25" height="25" viewBox="0 0 25 25"><path d="M19 6c0-1.1-.9-2-2-2H8c-1.1.0-2 .9-2 2v14.66h.012c.01.103.045.204.12.285a.5.5.0 00.706.03L12.5 16.85l5.662 4.126a.508.508.0 00.708-.03.5.5.0 00.118-.285H19V6zm-6.838 9.97L7 19.636V6c0-.55.45-1 1-1h9c.55.0 1 .45 1 1v13.637l-5.162-3.668a.49.49.0 00-.676.0z" fill-rule="evenodd"/></svg> </a> </span>
</div>
</div>
</div>
</div>
<div class="grid-item" id="post-">
<div class="card post flex-row"> <a class="thumbimage w-50 align-items-center" href="/html-vs-pdf-file-size/"><img width='300' height='179' src='/app/uploads/2020/10/pdf-1-300x179.png' class='card-img' alt='(PDF logo)' decoding='async' srcset='/app/uploads/2020/10/pdf-1-300x179.png 300w, /app/uploads/2020/10/pdf-1-1024x610.png 1024w, /app/uploads/2020/10/pdf-1-768x458.png 768w, /app/uploads/2020/10/pdf-1-e1754314629617.png 500w' sizes='(max-width: 300px) 100vw, 300px'></a><div class="card-block">
<h2 class="card-title"><a href="/html-vs-pdf-file-size/">HTML vs PDF file size: 726 PDFs tested</a></h2> <span class="card-text d-block">We converted 726 public PDFs to HTML and compared the sizes. Gzipped, the HTML came out level with the PDF. Here&rsquo;s where it wins and loses.</span>
<div class="wrapfooter"> <span class="meta-footer-thumb"> <a href="/author/markee/"><img alt src='/app/uploads/2025/02/avatar-2.jpg' class='avatar avatar-40 photo author-thumb' height='40' width='40' loading='lazy' decoding='async'></a> </span> <span class="author-meta"> <span class="post-name"><a href="/author/markee/">Mark Stephens</a></span><br> <span class="post-date">Last Modified: Sep 29, 2026</span> <span class="dot"></span> <span class="readingtime">10 min read</span> </span> <span class="post-read-more"> <a href="/html-vs-pdf-file-size/" title="Read Story"> <svg class="svgIcon-use" width="25" height="25" viewBox="0 0 25 25"><path d="M19 6c0-1.1-.9-2-2-2H8c-1.1.0-2 .9-2 2v14.66h.012c.01.103.045.204.12.285a.5.5.0 00.706.03L12.5 16.85l5.662 4.126a.508.508.0 00.708-.03.5.5.0 00.118-.285H19V6zm-6.838 9.97L7 19.636V6c0-.55.45-1 1-1h9c.55.0 1 .45 1 1v13.637l-5.162-3.668a.49.49.0 00-.676.0z" fill-rule="evenodd"/></svg> </a> </span>
</div>
</div>
</div>
</div>
<div class="grid-item" id="post-">
<div class="card post flex-row"> <a class="thumbimage w-50 align-items-center" href="/pdf-vs-png-file-size/"><img width='300' height='179' src='/app/uploads/2020/10/pdf-1-300x179.png' class='card-img' alt='(PDF logo)' decoding='async' srcset='/app/uploads/2020/10/pdf-1-300x179.png 300w, /app/uploads/2020/10/pdf-1-1024x610.png 1024w, /app/uploads/2020/10/pdf-1-768x458.png 768w, /app/uploads/2020/10/pdf-1-e1754314629617.png 500w' sizes='(max-width: 300px) 100vw, 300px'></a><div class="card-block">
<h2 class="card-title"><a href="/pdf-vs-png-file-size/">PDF vs PNG file size: 726 PDFs and 763 images tested</a></h2> <span class="card-text d-block">We saved 726 public PDFs as PNG at 72, 150 and 300dpi. The PNGs were a median 5.7 to 40 times bigger. Here&rsquo;s the data by content type.</span>
<div class="wrapfooter"> <span class="meta-footer-thumb"> <a href="/author/markee/"><img alt src='/app/uploads/2025/02/avatar-2.jpg' class='avatar avatar-40 photo author-thumb' height='40' width='40' loading='lazy' decoding='async'></a> </span> <span class="author-meta"> <span class="post-name"><a href="/author/markee/">Mark Stephens</a></span><br> <span class="post-date">Last Modified: Sep 29, 2026</span> <span class="dot"></span> <span class="readingtime">10 min read</span> </span> <span class="post-read-more"> <a href="/pdf-vs-png-file-size/" title="Read Story"> <svg class="svgIcon-use" width="25" height="25" viewBox="0 0 25 25"><path d="M19 6c0-1.1-.9-2-2-2H8c-1.1.0-2 .9-2 2v14.66h.012c.01.103.045.204.12.285a.5.5.0 00.706.03L12.5 16.85l5.662 4.126a.508.508.0 00.708-.03.5.5.0 00.118-.285H19V6zm-6.838 9.97L7 19.636V6c0-.55.45-1 1-1h9c.55.0 1 .45 1 1v13.637l-5.162-3.668a.49.49.0 00-.676.0z" fill-rule="evenodd"/></svg> </a> </span>
</div>
</div>
</div>
</div>
<div class="grid-item" id="post-">
<div class="card post flex-row"> <a class="thumbimage w-50 align-items-center" href="/edit-pdf-in-java/"><img width='300' height='165' src='/app/uploads/2018/06/jpedal-300x165.png' class='card-img' alt='JPedal Java PDF library logo' decoding='async' srcset='/app/uploads/2018/06/jpedal-300x165.png 300w, /app/uploads/2018/06/jpedal.png 759w' sizes='(max-width: 300px) 100vw, 300px'></a><div class="card-block">
<h2 class="card-title"><a href="/edit-pdf-in-java/">How to Edit a PDF in Java using JPedal (Tutorial)</a></h2> <span class="card-text d-block">Java has no built-in PDF support, so editing a PDF means picking a library. This tutorial covers PDF editing in Java with JPedal&rsquo;s PdfManipulator, from page operations to redaction&mldr;</span>
<div class="wrapfooter"> <span class="meta-footer-thumb"> <a href="/author/jacob-collins/"><img alt src='/app/uploads/2025/02/avatar-58.jpg' class='avatar avatar-40 photo author-thumb' height='40' width='40' loading='lazy' decoding='async'></a> </span> <span class="author-meta"> <span class="post-name"><a href="/author/jacob-collins/">Jacob Collins</a></span><br> <span class="post-date">Last Modified: Oct 1, 2026</span> <span class="dot"></span> <span class="readingtime">13 min read</span> </span> <span class="post-read-more"> <a href="/edit-pdf-in-java/" title="Read Story"> <svg class="svgIcon-use" width="25" height="25" viewBox="0 0 25 25"><path d="M19 6c0-1.1-.9-2-2-2H8c-1.1.0-2 .9-2 2v14.66h.012c.01.103.045.204.12.285a.5.5.0 00.706.03L12.5 16.85l5.662 4.126a.508.508.0 00.708-.03.5.5.0 00.118-.285H19V6zm-6.838 9.97L7 19.636V6c0-.55.45-1 1-1h9c.55.0 1 .45 1 1v13.637l-5.162-3.668a.49.49.0 00-.676.0z" fill-rule="evenodd"/></svg> </a> </span>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-12 col-lg-4 d-flex flex-column listrecent listrelated"> <h3 class="my-3">Featured Posts:</h3> <div class="card post highlighted"><a class="thumbimage" href="/25-years-of-heretical-thinking-our-playbook/" style="background-image:url(/app/uploads/2026/02/idr-logo.png)"></a><div class="card-block"> <h2 class="card-title"><a href="/25-years-of-heretical-thinking-our-playbook/">25 years of Heretical Thinking: Our Playbook</a></h2> <span class="card-text d-block">Watch our BoS 2025 Talk: 25 Years of Heretical Thinking Consistency After 25 years in business, IDR Solutions has grown by doing things differently....</span> <div class="metafooter"> <div class="wrapfooter"> <span class="meta-footer-thumb"> <a href="/author/chika/"> <img alt src='/app/uploads/2025/09/Chika.png' srcset='/app/uploads/2025/09/Chika.png 258w, /app/uploads/2025/09/Chika-150x150.png 150w' class='avatar avatar-40 photo author-thumb' height='40' width='40' decoding='async'> </span> </a> <span class="author-meta"> <span class="post-name"><a href="/author/chika/">chika</a></span><br> <span class="post-date">Modified: Feb 11, 2026</span> <span class="dot"></span> <span class="readingtime">3 min read</span> </span> <span class="post-read-more"> <a href="/25-years-of-heretical-thinking-our-playbook/" title="Read Story"> <svg class="svgIcon-use" width="25" height="25" viewBox="0 0 25 25"><path d="M19 6c0-1.1-.9-2-2-2H8c-1.1.0-2 .9-2 2v14.66h.012c.01.103.045.204.12.285a.5.5.0 00.706.03L12.5 16.85l5.662 4.126a.508.508.0 00.708-.03.5.5.0 00.118-.285H19V6zm-6.838 9.97L7 19.636V6c0-.55.45-1 1-1h9c.55.0 1 .45 1 1v13.637l-5.162-3.668a.49.49.0 00-.676.0z" fill-rule="evenodd"/></svg> </a> </span> </div> </div> </div> </div> <div class="card post highlighted"><a class="thumbimage" href="/travelling-to-istanbul-by-train-for-devfest-conference-part-6-completing-the-orient-express/" style="background-image:url(/app/uploads/2025/12/IMG_9379-1024x768.jpeg)"></a><div class="card-block"> <h2 class="card-title"><a href="/travelling-to-istanbul-by-train-for-devfest-conference-part-6-completing-the-orient-express/">Travelling to Istanbul by train for DevFest conference –&mldr;</a></h2> <span class="card-text d-block">After yesterday&#8217;s Bulgarian marathon, today is a much gentler last stage. The overnight sleep was the most comfortable yet with a spacious 4 bed...</span> <div class="metafooter"> <div class="wrapfooter"> <span class="meta-footer-thumb"> <a href="/author/markee/"> <img alt src='/app/uploads/2025/02/avatar-2.jpg' class='avatar avatar-40 photo author-thumb' height='40' width='40' decoding='async'> </span> </a> <span class="author-meta"> <span class="post-name"><a href="/author/markee/">Mark Stephens</a></span><br> <span class="post-date">Modified: May 26, 2026</span> <span class="dot"></span> <span class="readingtime">1 min read</span> </span> <span class="post-read-more"> <a href="/travelling-to-istanbul-by-train-for-devfest-conference-part-6-completing-the-orient-express/" title="Read Story"> <svg class="svgIcon-use" width="25" height="25" viewBox="0 0 25 25"><path d="M19 6c0-1.1-.9-2-2-2H8c-1.1.0-2 .9-2 2v14.66h.012c.01.103.045.204.12.285a.5.5.0 00.706.03L12.5 16.85l5.662 4.126a.508.508.0 00.708-.03.5.5.0 00.118-.285H19V6zm-6.838 9.97L7 19.636V6c0-.55.45-1 1-1h9c.55.0 1 .45 1 1v13.637l-5.162-3.668a.49.49.0 00-.676.0z" fill-rule="evenodd"/></svg> </a> </span> </div> </div> </div> </div> <div class="card post highlighted"><a class="thumbimage" href="/travelling-to-istanbul-by-train-for-devfest-conference-part-5-crossing-bulgaria/" style="background-image:url(/app/uploads/2025/12/IMG_9356-768x1024.jpeg)"></a><div class="card-block"> <h2 class="card-title"><a href="/travelling-to-istanbul-by-train-for-devfest-conference-part-5-crossing-bulgaria/">Travelling to Istanbul by train for DevFest conference –&mldr;</a></h2> <span class="card-text d-block">After the (now unusual) experience of a night in one place, we were in Ted&#8217;s Coffee for 9.30am to collect our tickets for tonight&#8217;s...</span> <div class="metafooter"> <div class="wrapfooter"> <span class="meta-footer-thumb"> <a href="/author/markee/"> <img alt src='/app/uploads/2025/02/avatar-2.jpg' class='avatar avatar-40 photo author-thumb' height='40' width='40' decoding='async'> </span> </a> <span class="author-meta"> <span class="post-name"><a href="/author/markee/">Mark Stephens</a></span><br> <span class="post-date">Modified: Dec 4, 2025</span> <span class="dot"></span> <span class="readingtime">1 min read</span> </span> <span class="post-read-more"> <a href="/travelling-to-istanbul-by-train-for-devfest-conference-part-5-crossing-bulgaria/" title="Read Story"> <svg class="svgIcon-use" width="25" height="25" viewBox="0 0 25 25"><path d="M19 6c0-1.1-.9-2-2-2H8c-1.1.0-2 .9-2 2v14.66h.012c.01.103.045.204.12.285a.5.5.0 00.706.03L12.5 16.85l5.662 4.126a.508.508.0 00.708-.03.5.5.0 00.118-.285H19V6zm-6.838 9.97L7 19.636V6c0-.55.45-1 1-1h9c.55.0 1 .45 1 1v13.637l-5.162-3.668a.49.49.0 00-.676.0z" fill-rule="evenodd"/></svg> </a> </span> </div> </div> </div> </div> <div class="card post highlighted"><a class="thumbimage" href="/travelling-to-istanbul-by-train-for-devfest-conference-part-4-bucharest/" style="background-image:url(/app/uploads/2025/12/IMG_9213-1024x768.jpeg)"></a><div class="card-block"> <h2 class="card-title"><a href="/travelling-to-istanbul-by-train-for-devfest-conference-part-4-bucharest/">Travelling to Istanbul by train for DevFest conference –&mldr;</a></h2> <span class="card-text d-block">After enjoying our free drink in the Premium lounge at Budapest, we boarded the 7.05pm overnight train to Bucharest. Through Transylvania and the Carpathians...</span> <div class="metafooter"> <div class="wrapfooter"> <span class="meta-footer-thumb"> <a href="/author/markee/"> <img alt src='/app/uploads/2025/02/avatar-2.jpg' class='avatar avatar-40 photo author-thumb' height='40' width='40' decoding='async'> </span> </a> <span class="author-meta"> <span class="post-name"><a href="/author/markee/">Mark Stephens</a></span><br> <span class="post-date">Modified: Dec 4, 2025</span> <span class="dot"></span> <span class="readingtime">1 min read</span> </span> <span class="post-read-more"> <a href="/travelling-to-istanbul-by-train-for-devfest-conference-part-4-bucharest/" title="Read Story"> <svg class="svgIcon-use" width="25" height="25" viewBox="0 0 25 25"><path d="M19 6c0-1.1-.9-2-2-2H8c-1.1.0-2 .9-2 2v14.66h.012c.01.103.045.204.12.285a.5.5.0 00.706.03L12.5 16.85l5.662 4.126a.508.508.0 00.708-.03.5.5.0 00.118-.285H19V6zm-6.838 9.97L7 19.636V6c0-.55.45-1 1-1h9c.55.0 1 .45 1 1v13.637l-5.162-3.668a.49.49.0 00-.676.0z" fill-rule="evenodd"/></svg> </a> </span> </div> </div> </div> </div> <div class="card post highlighted"><a class="thumbimage" href="/travelling-to-istanbul-by-train-for-devfest-conference-part-3-onwards-to-budapest/" style="background-image:url(/app/uploads/2025/11/IMG_9147-1024x768.jpeg)"></a><div class="card-block"> <h2 class="card-title"><a href="/travelling-to-istanbul-by-train-for-devfest-conference-part-3-onwards-to-budapest/">Travelling to Istanbul by train for DevFest conference –&mldr;</a></h2> <span class="card-text d-block">Another day another night train. After a full day in Prague, it&#8217;s time for another night train&#8230;. Journey to Budapest Tonight it&#8217;s a six...</span> <div class="metafooter"> <div class="wrapfooter"> <span class="meta-footer-thumb"> <a href="/author/markee/"> <img alt src='/app/uploads/2025/02/avatar-2.jpg' class='avatar avatar-40 photo author-thumb' height='40' width='40' decoding='async'> </span> </a> <span class="author-meta"> <span class="post-name"><a href="/author/markee/">Mark Stephens</a></span><br> <span class="post-date">Modified: Dec 4, 2025</span> <span class="dot"></span> <span class="readingtime">1 min read</span> </span> <span class="post-read-more"> <a href="/travelling-to-istanbul-by-train-for-devfest-conference-part-3-onwards-to-budapest/" title="Read Story"> <svg class="svgIcon-use" width="25" height="25" viewBox="0 0 25 25"><path d="M19 6c0-1.1-.9-2-2-2H8c-1.1.0-2 .9-2 2v14.66h.012c.01.103.045.204.12.285a.5.5.0 00.706.03L12.5 16.85l5.662 4.126a.508.508.0 00.708-.03.5.5.0 00.118-.285H19V6zm-6.838 9.97L7 19.636V6c0-.55.45-1 1-1h9c.55.0 1 .45 1 1v13.637l-5.162-3.668a.49.49.0 00-.676.0z" fill-rule="evenodd"/></svg> </a> </span> </div> </div> </div> </div> </div>
</div>
<div class="clearfix"></div>
</div>
</div>
<div class="container"> <footer class="footer"> <p class="pull-left"> </p> <p class="pull-right"> © IDRsolutions Ltd 2026. All rights reserved. </p> <div class="clearfix"></div> <a href class="back-to-top hidden-md-down"> <i class="fa fa-angle-up"></i> </a> </footer> </div> <script type="speculationrules">{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp/wp-*.php","/wp/wp-admin/*","/app/uploads/*","/app/*","/app/plugins/*","/app/themes/mediumish-child-theme/*","/app/themes/mediumish/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}</script><script crossorigin="anonymous" integrity="sha384-DztdAPBWPRXSA/3eYEEUWrWCy7G5KFbe8fFjk5JAIxUYHKkDx6Qin1DkWx51bBrb" id="tether-js" src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js"></script><script id="bootstrap4-js" src="/app/themes/mediumish/assets/js/bootstrap.min.js"></script><script id="mediumish-ieviewportbugworkaround-js" src="/app/themes/mediumish/assets/js/ie10-viewport-bug-workaround.js"></script><script id="mediumish-js" src="/app/themes/mediumish/assets/js/mediumish.js"></script> </body>
</html>