如何使用Groovy解码base64并转换为pdf

时间:2018-07-26 16:51:22

标签: groovy base64 itext pdf-generation decode

我想使用Groovy从Decode base64生成一个pdf文件。我尝试了以下方法,但pdf并未生成实际内容。我在这里做错了-您能帮我解决此问题吗?

随附了预期的pdf文件屏幕快照,以供参考。Pdf Output file

import com.itextpdf.text.*
import com.itextpdf.text.pdf.PdfWriter;

    def content = "SlZCRVJpMHhMak1OSmVMano5TU5DamNnTUNCdlltb05QRHd2VEdsdVpXRnlhWHBsWkNBeEwwd2dOemswTlM5UElEa3ZSU0F6TlRJMApMMDRnTVM5VUlEYzJOVFl2U0NCYklEUTFNU0F4TXpkZFBqNE5aVzVrYjJKcURTQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnCkRRb3hNeUF3SUc5aWFnMDhQQzlFWldOdlpHVlFZWEp0Y3p3OEwwTnZiSFZ0Ym5NZ05DOVFjbVZrYVdOMGIzSWdNVEkrUGk5R2FXeDAKWlhJdlJteGhkR1ZFWldOdlpHVXZTVVJiUERSRVF6a3hRVEU0TnpWQk5rUTNNRGRCUlVNeU1ETkNRakF5TVVNNU0wRXdQanhHTmtNNQpNa0l6TmpoQk9FRXhNelF3T0RRMU4wRXhSRE01TlVFek4wVkNPVDVkTDBsdVpHVjRXemNnTWpGZEwwbHVabThnTmlBd0lGSXZUR1Z1ClozUm9JRFV5TDFCeVpYWWdOelkxTnk5U2IyOTBJRGdnTUNCU0wxTnBlbVVnTWpndlZIbHdaUzlZVW1WbUwxZGJNU0F5SURGZFBqNXoKZEhKbFlXME5DbWplWW1Ka0VHQmdZbUN5QVJJTUlJS3hBVWd3cHdJSk5rY2c4ZVVZQXhNand6U1FMQU1qdWNSL3hwMWZBQUlNQUV5awpCdkFOQ21WdVpITjBjbVZoYlExbGJtUnZZbW9OYzNSaGNuUjRjbVZtRFFvd0RRb2xKVVZQUmcwS0lDQWdJQ0FnSUNBTkNqSTNJREFnCmIySnFEVHc4TDBacGJIUmxjaTlHYkdGMFpVUmxZMjlrWlM5SklEWTVMMHhsYm1kMGFDQTFPQzlUSURNNFBqNXpkSEpsWVcwTkNtamUKWW1CZ1lHRmdZUHpQQUFUY05neW9nSkVCSk12UmdDekdBc1VNREEwTTNBemMweDUwSm9BNHpBd01XZ0lRTFl3c0FBRUdBTC9pQlJrTgpDbVZ1WkhOMGNtVmhiUTFsYm1Sdlltb05PQ0F3SUc5aWFnMDhQQzlOWlhSaFpHRjBZU0F4SURBZ1VpOVFZV2RsY3lBMUlEQWdVaTlVCmVYQmxMME5oZEdGc2IyYytQZzFsYm1Sdlltb05PU0F3SUc5aWFnMDhQQzlEYjI1MFpXNTBjeUF4TVNBd0lGSXZRM0p2Y0VKdmVGc3cKSURBZ05UazFJRGcwTWwwdlRXVmthV0ZDYjNoYk1DQXdJRFU1TlNBNE5ESmRMMUJoY21WdWRDQTFJREFnVWk5U1pYTnZkWEpqWlhNZwpNVFFnTUNCU0wxSnZkR0YwWlNBd0wxUjVjR1V2VUdGblpUNCtEV1Z1Wkc5aWFnMHhNQ0F3SUc5aWFnMDhQQzlHYVd4MFpYSXZSbXhoCmRHVkVaV052WkdVdlJtbHljM1FnT1RRdlRHVnVaM1JvSURjM015OU9JREV6TDFSNWNHVXZUMkpxVTNSdFBqNXpkSEpsWVcwTkNtamUKdkZSdGI5b3dFUDRyL2dQZ2w5aHhJbFZJMEk2dTBscWhKbHMvUlBtUWdndVJRb0lTVjZQL2ZuY0pMb0cxSzZYU2lNejU1ZTU4dnVlNQo0NUl3d2hYaG5pYmNKeUtBbFNhZUNBZ1BpT2VEQ0ltVWlnaEdWTWlJNENRVW9DWUlaMW9TNFlHdDVrUklzR0loRWVBb2tMQUdGY1lrCnViaWdsMVZSMWRFbW14dGNOQW92WStSK05LTGZ0dlk2c3BuRmcrdUk0L1hkd2JRcUxleE5CY1lBV3pTT0JRYlFUU1hlM2sxOXZMaWIKQm5oblp6NnJxM2xrYkVKblYxTWFtNjFOUjZPRVhtYkYvZlVFcjhyVzZ5d1JRd0UvaVBSUXB2UTJzM1crVGRoUWNuUStGQndkRHhrUApQUkNlMHJqU1hFRmUySkR6VUtBSW1FSWRqWkVOUThWVVNoOVd1VFd6S2k5dDBtMFJlT0dRQlNGRWswSVkwWmc4WlVWamFIU0xwb0xHCjkvUm1ZVXFiMnhjYXYyek1QaitqRWVoZjVVOVBwamJsM0RRSnA0L1BSV0ZzdWxNczU5VWlMNWV0M2lSckRDYVFSaS9yeDZwNFBVUlkKTVZYUjg2TkZJN1RrTks1K2xqa29HTUozU2NVenRHK2RqWnM1UkVSQ3BpQi9tKzhtWDY0c1lmVEtkUHNEd1RtZEZ0bXlBY2EwVnBOSgp0VTBHUHRCbjRHa2tnUWZNWURKSTI5TzdiRzNvdU02ellqQ3Bpc1Z0VEc5c1Z1VHpjYmtzRFBpTnJGbi9BaXA2K3pEd3FqcmYyS28rCmZOMkJGL2RHK3BDWDQ3TEpYOWZUdkc3czVTcXJYWHg3ZDBoc2ZQQ1BiS2ZCdWI5UFR2MXNZcGVsMWhCY0wreXFTWVJHU243dGEybnkKS24zTzM5RHhmZjJoSDZYODFyb3Z1eE1YcFpQdURpOElXeTNQODlJK3dFSEkzd1BZZHdETEhzREtSNENaQm9DeFV6Q21ld0RIK2RvMApkK2IzZmJYT3lsbjBEc3JzWTR6L2RuUVcwSUlmQWEzbEtVQ3J3MlJEaldQYTJ0R21WdTMvVDRVY1FlMW1lNmlPQVhYUU84aENLZC9RCmxMQ3IyS0hFeUhDT28wOEFEY1B0NDlpOUE2Z2dlaWU3dUJnai8rdlRQa3UvMUdWOEJTUVV5cEhRMDhkZDVuenFPZlB6Q09jZEVnNDAKVG1vc255M0pNT2lYcE5SZFNYTEJmTXlHZUw4azI3N1paZVlvUlFPdVB0T0YvK24zdk55cG8ySVYvSXhpM1grbkZ1aXBQZmVEanN4YwpjYnIvcnFnUCt6SHU5SW9SQ3RFVm80dGlWOUpBaUQ4Q0RBQSswSXJ4RFFwbGJtUnpkSEpsWVcwTlpXNWtiMkpxRFRFeElEQWdiMkpxCkRUdzhMMFpwYkhSbGNpOUdiR0YwWlVSbFkyOWtaUzlNWlc1bmRHZ2dNVFV6TUQ0K2MzUnlaV0Z0RFFwSWliUlhTMi9qTmhCR3IvNFYKYzF1cWlCVzlIOGQwdHluUTAySXJvSWR1RDdMRUpDcGswUkRwcFBsVC9ZMmRCMmw3blMwS0xGb0VVUGdhY3VhYm1XL0dQM1NiMjY3TApJSVh1WVpNV2NWSkFnbjh5eXRJOHJxdWtncnFzY1o3azBPMDN0Kzl0Q1lQbFl3bllZWFA3MHk4cFBOck5Ob21USkt1Z0d6WTBxaHJvClhqYS9xYnNvVGVKTWpkRzJqbE5sZGhxaWJVcEQzR2ppV2czUk5sTnJ0SzNpQ25kN0J4OC8zTVA5UkF1Tm1yV05mdTkrSmgwTHIyTW0KQ21iUXRIR2JrWEpaRytlWktNYzZKSzNYSWFNUjZ6RGl1My9CUjdPNmZqZHIrR0JRaHlSdTFYRGM2OFhCZlZUR3VjSkZXbHYzdUptagpncWpMWjRYYThPYm5DQ1pMcWllcWgrTXlQZXZWOXJNc1BFd3pXWlhoeUt4N0ZPTlY5eFJHaDVXTWI1VzJlbjMyTCtzb3cyKzRjWjdaCnpBUzJhWnlXMEgxZ0NKUEdHOUsybVJoaUhxSWNZWUdJNzlkUmdhRHhSTmJONHV6TjVUeEs4THZ5bUt5S0M5V3pqSFBURW0xYjlNc2oKdWFkUk4zeVNSUWMrSWFLek9ZcTA1UzBSWGtaNGxGV1pINTRta2JGUm9zREl2VjVSTDhHWHZjcFRZckxGbTBYS1d6RWFtUjVKVWRKVQpYNGk2RzVBWGRiUXRjYzlyM2RNczl3YU9vckdJV1F1SUZXSGFmZStqb2dpUlNTTUNFd0dFL25DWXA2RjNrMW1nUjhNT2MrL0lpWEMwCnJFYW05QWpPd0xCcUNkRWUzeXFVMHpDNU9QZ3NpM1B2c3BUQzhCUnhqSmtFVUN2WVRoN0hSV1lqWDFyeXBhV2F4WE1TUWc4U29tZ2MKNk5rZkcvaVlXODB5RFlRWFE1WGhFc1h3T0ZtM1RydWptR0pSUHpBWXBJUFphd3NVSzFjQkpxRFVKMUJxVWZ5d0dzeVF2UVVVM0p0bAo1aGRhOGgxbW1RSzlzRnFZdHVhNE9NMkJYUk5HTDVON0lrMEhWczlMRGNDcFlaOTZNZ0JUQzRNK1Y5UHlHTkZsZ3QvdHZXY2ZBYkpoCkpGa3JVa2g5RjNWL1VQcFgvbEJjVkpqK2VBWUJsWjNHRTROd1YwaWQwaHRXdFNYZmM3ZThta1hmb0pOZlg1NDBlbE9FUGF1Z0VWNlkKWVVtOWNKMEtLRENneDh4Qkk3QklUOUcyd1VBanIyYUtEWXpoYmlZcXlCUEdTWm1qeFBpaUNSNE9JWjRIQXFIQUUrSkEvRENtL1l4aQpob0pPaGZtdytvVWVjY01rWUx5MnJDdTVzUWpHcGo2MDA2U3BST0ZQbXJYcitUdEdrazQwWGpFN0NoVnpwSDNTQTY5TnhIdU5Pa3h5ClpPSGpUaUlWazRnRVpFeFJkTDdFOHd3TkVRT1BCazhOM3lDbjluSzVhT0prWXNGaVZNcks1QWNZY0JjcUw0UnhwZDVGbUlKVkVFTVAKeVBLbG52Q2xCaFoyK3ZLaUl4K3lYajB5WUl1MWpiam9xK253aGlOR3M3ekRZRVh3NGFrWDdpWW9pUVBnekIrZUdpajFMRExIUDFFRwpDWnpUdHFLMHRWZEpnUHFVMzVnSHhkZnlRRUpqRzRaa0VoRlNUWXg3alZ5b3RENmhzQVVvTHk0cXp4ZVZjbEUvdi9TdlhCeVIrSkVGCjRMQk9TRVNETDZab2lWcFh6VE5aYy9QclZUWEhSR292OGk3SlR2ajdnZ2ZNeTFSYlVVVW1vY2EvTXdrVFVRWGp4VkUvaXlQRVAvVTEKdlpEZmkrSy94RGIwR1duZHBwZlFwZ1J0am5RM2NUR3FFZHFlL3hPWklnd3Z5SVlwNGZFYVpkUUtFSG9vZ3dTTzFlZkxyV3VmVU92dwpsdVhrY1M2TnRmcXpIOTdpbkYzaEhEUnZRNGRFRllOSmg2T1diT2k1UVhGNnBOSXI3WXRzRU41aGV4MW4zeXo1Zm9iS0x0WXU3a09zCmVYQmtLd210VEwyak1CZ0tOUG1ad3I1TXZTcWtIdkx0MmdjM0YveXNiM2F3TkdkcGlBZXM5UTdybFZBYWtmSmxHMFFsWFFUWkJteC8KcUZrSnpReG5KOVdrU2ttdFhveUQyVmdzcGtkTktSeTZnYk10TElHMlNOdm1EYnBxMjlMc25DbytqSjh4RFpnUU0vWTJaaDNHOWJSZwpXbkNpWkdwL1FMNUNOdHhOOCtTSWlOWC95UXpiczVvVXZrSExEdm5wUWZ5UFNRUjNnNHhXYnNzLzZYNE1MZEZLdmJBLzF6Tis1QkoyCkNKVkdnbTQwTDh0cytwRzdLb2tzcktHN1UrRUxyMkQ4WkVTUFFmVFV4aUNKN2k1Witod3FlWE1SOVVRT0ZFOTBRWVc2WWR0RXM3Q3EKc1NYOWR5Qy9tVjF6Z2JCb0d0OCt2VGZzU1l6NGdiOU9mbE9jT3NFYVNmRlVPSE5QdnVtcHZhYnhLbmtzRzJEM3NqcjdreXZMWVNtUgpaU3FDUEtYS0dJUW0vME5HamxLbnphUEJYM245dEw5cDlENlRtMlFSM2ZkVkY0U0k0YWg5cEhBRmpsOUVYVVlnaFYwZVk2ODAvRXVrCkNGMENGMmhsM1FYdEVlbFJlQkhuYzZ1aDRGZjY3c1NCUDNhYnZ3Y0FyUmlIM1FvTkNtVnVaSE4wY21WaGJRMWxibVJ2WW1vTk1USWcKTUNCdlltb05QRHd2Um1sc2RHVnlMMFpzWVhSbFJHVmpiMlJsTDB4bGJtZDBhQ0F5TURnK1BuTjBjbVZoYlEwS1NJbFVrTDBPd2pBTQpoUGMraFVjUVE5ck9WUmRZT3ZBakN1eHA0bGFSaUJPNTZkQzNKeWtGeEJCTDl1WFRuUzMyemFFaEUwQmMyS2tXQS9TR05PUG9KbFlJCkhRNkdvQ2hCR3hYV2JxbktTZzhpd3UwOEJyUU45UTZxS2hQWEtJNkJaOWkwcyszY2M1ZHZRWnhaSXhzYVlITXI3bzg0YUNmdm4yaVIKQXVSUTE2Q3h6OFQrS1AxSldvenlpaTd6WWpWMEdrY3ZGYktrQWFIS2kvcGRrUFMvOWlHNi90Myt2bFpsWHBaMUZvbVBsdUMweWRkYgpUY3d4MXJMdWtpaGxNSVRmaTNqbmsyVjYyVXVBQVFCRHlHay9DZzBLWlc1a2MzUnlaV0Z0RFdWdVpHOWlhZzB4SURBZ2IySnFEVHc4CkwweGxibWQwYUNBek5qVTJMMU4xWW5SNWNHVXZXRTFNTDFSNWNHVXZUV1YwWVdSaGRHRStQbk4wY21WaGJRMEtQRDk0Y0dGamEyVjAKSUdKbFoybHVQU0x2dTc4aUlHbGtQU0pYTlUwd1RYQkRaV2hwU0hweVpWTjZUbFJqZW10ak9XUWlQejRLUEhnNmVHMXdiV1YwWVNCNApiV3h1Y3pwNFBTSmhaRzlpWlRwdWN6cHRaWFJoTHlJZ2VEcDRiWEIwYXowaVFXUnZZbVVnV0UxUUlFTnZjbVVnTkM0eUxqRXRZekEwCk15QTFNaTR6TnpJM01qZ3NJREl3TURrdk1ERXZNVGd0TVRVNk1EZzZNRFFnSUNBZ0lDQWdJQ0krQ2lBZ0lEeHlaR1k2VWtSR0lIaHQKYkc1ek9uSmtaajBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TVRrNU9TOHdNaTh5TWkxeVpHWXRjM2x1ZEdGNExXNXpJeUkrQ2lBZwpJQ0FnSUR4eVpHWTZSR1Z6WTNKcGNIUnBiMjRnY21SbU9tRmliM1YwUFNJaUNpQWdJQ0FnSUNBZ0lDQWdJSGh0Ykc1ek9tUmpQU0pvCmRIUndPaTh2Y0hWeWJDNXZjbWN2WkdNdlpXeGxiV1Z1ZEhNdk1TNHhMeUkrQ2lBZ0lDQWdJQ0FnSUR4a1l6cG1iM0p0WVhRK1lYQncKYkdsallYUnBiMjR2Y0dSbVBDOWtZenBtYjNKdFlYUStDaUFnSUNBZ0lDQWdJRHhrWXpwamNtVmhkRzl5UGdvZ0lDQWdJQ0FnSUNBZwpJQ0E4Y21SbU9sTmxjVDRLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQSEprWmpwc2FUNWpaR0ZwYkhrOEwzSmtaanBzYVQ0S0lDQWdJQ0FnCklDQWdJQ0FnUEM5eVpHWTZVMlZ4UGdvZ0lDQWdJQ0FnSUNBOEwyUmpPbU55WldGMGIzSStDaUFnSUNBZ0lDQWdJRHhrWXpwMGFYUnMKWlQ0S0lDQWdJQ0FnSUNBZ0lDQWdQSEprWmpwQmJIUStDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lEeHlaR1k2YkdrZ2VHMXNPbXhoYm1jOQpJbmd0WkdWbVlYVnNkQ0krVkdocGN5QnBjeUJoSUhSbGMzUWdVRVJHSUdacGJHVThMM0prWmpwc2FUNEtJQ0FnSUNBZ0lDQWdJQ0FnClBDOXlaR1k2UVd4MFBnb2dJQ0FnSUNBZ0lDQThMMlJqT25ScGRHeGxQZ29nSUNBZ0lDQThMM0prWmpwRVpYTmpjbWx3ZEdsdmJqNEsKSUNBZ0lDQWdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlLSUNBZ0lDQWdJQ0FnSUNBZ2VHMXNibk02ZUcxdwpQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2SWo0S0lDQWdJQ0FnSUNBZ1BIaHRjRHBEY21WaGRHVkVZWFJsClBqSXdNREF0TURZdE1qbFVNVEE2TWpFNk1EZ3JNVEU2TURBOEwzaHRjRHBEY21WaGRHVkVZWFJsUGdvZ0lDQWdJQ0FnSUNBOGVHMXcKT2tOeVpXRjBiM0pVYjI5c1BrMXBZM0p2YzI5bWRDQlhiM0prSURndU1Ed3ZlRzF3T2tOeVpXRjBiM0pVYjI5c1Bnb2dJQ0FnSUNBZwpJQ0E4ZUcxd09rMXZaR2xtZVVSaGRHVStNakF4TXkweE1DMHlPRlF4TlRveU5Eb3hNeTB3TkRvd01Ed3ZlRzF3T2sxdlpHbG1lVVJoCmRHVStDaUFnSUNBZ0lDQWdJRHg0YlhBNlRXVjBZV1JoZEdGRVlYUmxQakl3TVRNdE1UQXRNamhVTVRVNk1qUTZNVE10TURRNk1EQTgKTDNodGNEcE5aWFJoWkdGMFlVUmhkR1UrQ2lBZ0lDQWdJRHd2Y21SbU9rUmxjMk55YVhCMGFXOXVQZ29nSUNBZ0lDQThjbVJtT2tSbApjMk55YVhCMGFXOXVJSEprWmpwaFltOTFkRDBpSWdvZ0lDQWdJQ0FnSUNBZ0lDQjRiV3h1Y3pwd1pHWTlJbWgwZEhBNkx5OXVjeTVoClpHOWlaUzVqYjIwdmNHUm1MekV1TXk4aVBnb2dJQ0FnSUNBZ0lDQThjR1JtT2xCeWIyUjFZMlZ5UGtGamNtOWlZWFFnUkdsemRHbHMKYkdWeUlEUXVNQ0JtYjNJZ1YybHVaRzkzY3p3dmNHUm1PbEJ5YjJSMVkyVnlQZ29nSUNBZ0lDQThMM0prWmpwRVpYTmpjbWx3ZEdsdgpiajRLSUNBZ0lDQWdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlLSUNBZ0lDQWdJQ0FnSUNBZ2VHMXNibk02CmVHMXdUVTA5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM5dGJTOGlQZ29nSUNBZ0lDQWdJQ0E4ZUcxd1RVMDYKUkc5amRXMWxiblJKUkQ1MWRXbGtPakE0TURWbE1qSXhMVGd3WVRndE5EVTVaUzFoTlRJeUxUWXpOV1ZrTldNeFpUSmxOand2ZUcxdwpUVTA2Ukc5amRXMWxiblJKUkQ0S0lDQWdJQ0FnSUNBZ1BIaHRjRTFOT2tsdWMzUmhibU5sU1VRK2RYVnBaRG8yTW1RMllXVTJaQzAwCk0yTTBMVFEzTW1RdE9XSXlPQzAzWXpSaFpHUTRaamxsTkRZOEwzaHRjRTFOT2tsdWMzUmhibU5sU1VRK0NpQWdJQ0FnSUR3dmNtUm0KT2tSbGMyTnlhWEIwYVc5dVBnb2dJQ0E4TDNKa1pqcFNSRVkrQ2p3dmVEcDRiWEJ0WlhSaFBnb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZwpJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnCklDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWcKSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZwpJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnCklDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWcKSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZwpJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnCklDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWcKSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZwpJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnCklDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWcKSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZwpJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnCklDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWcKSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZwpJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnCklDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWcKSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZwpJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnCklDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWcKSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZwpJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnCklDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWcKSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZwpJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnCklDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWcKSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZwpJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnCklDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWcKSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZwpJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnCklDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWcKSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZwpJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnCklDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWcKSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2p3L2VIQmhZMnRsZENCbGJtUTlJbmNpUHo0TgpDbVZ1WkhOMGNtVmhiUTFsYm1Sdlltb05NaUF3SUc5aWFnMDhQQzlHYVd4MFpYSXZSbXhoZEdWRVpXTnZaR1V2Um1seWMzUWdOQzlNClpXNW5kR2dnTkRndlRpQXhMMVI1Y0dVdlQySnFVM1J0UGo1emRISmxZVzBOQ21qZU1sVXdVTEN4MFhmT0w4MHJVVERVOTg1TUtZNjIKQklvRnhlcUhWQmFrNmdja3BxY1cyOWtCQkJnQTFuY0xnQTBLWlc1a2MzUnlaV0Z0RFdWdVpHOWlhZzB6SURBZ2IySnFEVHc4TDBacApiSFJsY2k5R2JHRjBaVVJsWTI5a1pTOUdhWEp6ZENBMEwweGxibWQwYUNBeE5qY3ZUaUF4TDFSNWNHVXZUMkpxVTNSdFBqNXpkSEpsCllXME5DbWplUE12QkNzSXdFRVhSWDVtZERhS2R4Q3BWU3FGWTNBa3VCTmV4U2VsQTZFQXlSZng3QTRxUHUzem5BQWhOVTNhTFRCeUwKd1ZrS2IxV2VvN2RDUFBkV2ZOR2ZET1lkekZHajBWaXZ0VjRocm42dnJLNDBSRTQ4Q2p3NE9xaTNxTW9ydXovV3V3eHJ2VGVWM20ydwordUpiWkxjTVBoWmR4azhyMEZNU0NzRkhxTFlJSTBkNDBPejRsVlI1SndtK3VFK1VJR2RCZkJLNDlSY1lLWGpWdGg4QkJnQm5aenRrCkRRcGxibVJ6ZEhKbFlXME5aVzVrYjJKcURUUWdNQ0J2WW1vTlBEd3ZSR1ZqYjJSbFVHRnliWE04UEM5RGIyeDFiVzV6SURNdlVISmwKWkdsamRHOXlJREV5UGo0dlJtbHNkR1Z5TDBac1lYUmxSR1ZqYjJSbEwwbEVXencwUkVNNU1VRXhPRGMxUVRaRU56QTNRVVZETWpBegpRa0l3TWpGRE9UTkJNRDQ4UmpaRE9USkNNelk0UVRoQk1UTTBNRGcwTlRkQk1VUXpPVFZCTXpkRlFqaytYUzlKYm1adklEWWdNQ0JTCkwweGxibWQwYUNBek55OVNiMjkwSURnZ01DQlNMMU5wZW1VZ055OVVlWEJsTDFoU1pXWXZWMXN4SURJZ01GMCtQbk4wY21WaGJRMEsKYU41aVltQmdZR0xrUGNMRXdEK1ZpWUdoaDRtQmtZV0o4YkVra00wSUVHQUFLbGtERkEwS1pXNWtjM1J5WldGdERXVnVaRzlpYWcxegpkR0Z5ZEhoeVpXWU5DakV4TmcwS0pTVkZUMFlOQ2c9PQ"
    def encoded = content.getBytes("UTF-8").encodeBase64().toString()
    byte[] decoded = encoded.decodeBase64()
    System.out.println("decoded :" +decoded)
    def document = new Document()
    PdfWriter.getInstance(document,
            new FileOutputStream('base64Decoded.pdf'))

    document.open()
    document.add(new Paragraph(new String(decoded)))
    document.close()

1 个答案:

答案 0 :(得分:0)

好像content被两次错误编码。 Base64解码content产生另一个Base64解码的String。通过Base64解码可生成PDF:

 String content = "SlZCRVJp...";
 byte[] tmp = Base64.decode(content);
 byte[] pdf = Base64.decode(new String(tmp));
 FileUtils.writeByteArrayToFile(new File(OUTPUT_FILE), pdf);

然后可以将pdf传递到PdfReader对象。