{"version":"1.0","provider_name":"ELB Solutions.com Inc.","provider_url":"https:\/\/elbsolutions.com\/projects","author_name":"Etienne Bley","author_url":"https:\/\/elbsolutions.com\/projects\/author\/etienne-bley\/","title":"PDF learning - ELB Solutions.com Inc.","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"TmYofGwJnV\"><a href=\"https:\/\/elbsolutions.com\/projects\/pdf-learning\/\">PDF learning<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/elbsolutions.com\/projects\/pdf-learning\/embed\/#?secret=TmYofGwJnV\" width=\"600\" height=\"338\" title=\"&#8220;PDF learning&#8221; &#8212; ELB Solutions.com Inc.\" data-secret=\"TmYofGwJnV\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" class=\"wp-embedded-content\"><\/iframe><script>\n\/*! This file is auto-generated *\/\n!function(d,l){\"use strict\";l.querySelector&&d.addEventListener&&\"undefined\"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!\/[^a-zA-Z0-9]\/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret=\"'+t.secret+'\"]'),o=l.querySelectorAll('blockquote[data-secret=\"'+t.secret+'\"]'),c=new RegExp(\"^https?:$\",\"i\"),i=0;i<o.length;i++)o[i].style.display=\"none\";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute(\"style\"),\"height\"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):\"link\"===t.message&&(r=new URL(s.getAttribute(\"src\")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener(\"message\",d.wp.receiveEmbedMessage,!1),l.addEventListener(\"DOMContentLoaded\",function(){for(var e,t,s=l.querySelectorAll(\"iframe.wp-embedded-content\"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute(\"data-secret\"))||(t=Math.random().toString(36).substring(2,12),e.src+=\"#?secret=\"+t,e.setAttribute(\"data-secret\",t)),e.contentWindow.postMessage({message:\"ready\",secret:t},\"*\")},!1)))}(window,document);\n\/\/# sourceURL=https:\/\/elbsolutions.com\/projects\/wp-includes\/js\/wp-embed.min.js\n<\/script>\n","description":"I have a client who wants some PDFs messed with. To do so, layers need to be split and recompiled. Here are links that will help me decide which SDK to use how to \u2026 well \u2026 do it. A good discussion\u00a0of pdf libraries layers or content streams extract layers http:\/\/www.soft-xpansion.eu\/files\/pdflib\/PDF%20Xpansion%20SDK%20Guide.pdf foxxit, sdk documentation PDFtron [&hellip;]"}