如何将pdf数据呈现为实际的pdf文件?(使用PHP)

如何将pdf数据呈现为实际的pdf文件?(使用PHP),php,parsing,pdf,pdf-rendering,Php,Parsing,Pdf,Pdf Rendering,我得到的回报与pdf的实际内容类似,但当我尝试创建一个pdf文件并将这些数据粘贴到文本编辑器上,然后将其保存为pdf时,当我尝试打开它时,它只是说该文件无法打开 以下是我试图创建pdf文件的示例数据: %PDF-1.2 %âãÏÓ 1 0 obj << /Type /XObject /Subtype /Image /Name /Im1 /Width 195 /Height 114 /BitsPerComponent 8 /ColorSpace /DeviceRGB /Length 2

我得到的回报与pdf的实际内容类似,但当我尝试创建一个pdf文件并将这些数据粘贴到文本编辑器上,然后将其保存为pdf时,当我尝试打开它时,它只是说该文件无法打开

以下是我试图创建pdf文件的示例数据:

%PDF-1.2
%âãÏÓ
1 0 obj
<<
/Type /XObject
/Subtype /Image
/Name /Im1
/Width 195
/Height 114
/BitsPerComponent 8
/ColorSpace /DeviceRGB
/Length 27065
/Filter [/ASCII85Decode /FlateDecode]
>>
stream
8;Z,gH#-71)TI[R>H3E->-63kC9"#[HuOqQpQS50ind<:+n:mApBkAg0goK2+c%;h
CCELjp]hBc,j)'u:">P1>Fj@DSc,'sA`']Fl^i'C4`A($XM)?Uf&#l%TD*Wgf9l#E
"U,'791he`$O\i`n`*-B]$8LEc-O^KOI_re[CEa!0#R8No%(!OcW.Fl)&`:;1UW-N
90]]R,W!E"I:M/`G:R[WI>_#mNYrAKDr/,]%RddEh]=[l(g$YDe6LJNd`d2.UdMkP
V!j]Jp%07nJ5;3I6/s+-f:8?N#-"T$Ch*S,TV.q[#7g6i[_I1`mf!%Wg@b:5k7Wj/
a*Bsf-O'9hG5(_h)^)YVmhh6KNb)g7eu;Rq0JK_SmFpJi0YVu4<kGZCZ@;"ArtZ8&
Uc.WY09\jk$pen#g9ihUg)N;(psc9AIXZ`EVG+i#f\"hfbEckU32S\3U1p%//b[h@
G4u6/]JGSb1PR[gh5aV\+sS>+&Ej9#"Ea(eq8J7.X<@d"Sa=@R@`3kb'Y"k[N[\2s
MJMJ@kmX;]UT7J"*ZQ0TTgOSR2/3*s1\^=n6]ju*U,7Qrs7OY8nduNW5(*-u@)Uts
BP8f71htMgDPp3u#'qk)[((MZ1+T&dZC>s[EiGf&8hZ#@l'pBh/o<>7m"XI>@gI_a
0ekE0WGUCu2/Cb_4*I]Fpa-IE;RWm`ncu%RbY8(V"'DO!hnFMu,P<21Y@#%ZeZ)&+
6jPUWSN?h"4S:3uGY.!Jj/J/O[]WXkbqf)c,&?)MID't"RQ#.k[r,L"**d7*TY\?j
qqQs*#&%D.=6]"kpWLYXb=X."97Y'D+-X.S@Lst;.EQgd8/eXV:drpjm>T9`;0'Dm
m=X/IjQ'h\.#l.e/RH/=GuR`W'%F!cZadM)`XH%ZC`*iu!YeS2:?<$RcdlCg!m*dL
)!DMSXHd$@KP5jpfm'b9P2h5PZY.UQ1hd"Zj2R'7N]LI\IN;_*F6ARn1ihYJb9_AG
+d@AE8B);T=@,?kL(,)p%Bk3HfJ+itnNh2[Oca'7W[lVg2fBate$VKAnF1CZ62XRn
VlN^hnf7hoI3G]WSa.AP91=lo:/,Wcp%.@mWJc:b/7tD3@R_isW)4e*OW%=[GjsW@
<N6$J<B!@#[ccf8CAait/'enhWdd'Qm"f#>3d'H,M2V6'l\dHuTiNukP)+AL6CM"P
j$lpV0p=F=d^2-WN!$/!#t[GJ<GV+Uj+s:tY7O`0O2.PV:hIa*Zj>on7h^fb#7hmJ
n)'a6D:PX$@0l#!?bb1KJHH./C4(EA5_DD38se,^%bCrT'V+92rqq%H:d\*fC/t*9
!)Zr-UPKKdWkHrm+jhZ4S1kFK.(R%:"9eO9*7!3rlKZp##7hk$NG=l]:$CYRR$;ON
1nj]cJ9"1:=0>f%Op'DlA&`2urVQ=t%Yu:gW\>m.5o[NeXG.6-c?aZII/22MQntpJ
0!!:qrZ;(MK*,SFEB:MLP:,B)db;$?:OH<L?ifkTY[&eWP&$L[8P-1b#sDLqlX]M4
!%<$Xg-lj!nrP"^`$Go#Kp+.ins/A*VqglEEg[0,7un^R\aVO40i8>,daDf&66.;Y
U&6So/1_4R@q&mm4oe-6@i+ecnS>s<de$6X),Kd4*1g"%d>Qs(oeXDs(`7MV_?J?&
$7o$?h7In!gpqLgbX#Gc?+Rt!d@s&7%NIHTp?^5(9-Km[MlRJ\N:h^R_Mb5u(G5gn
pB'`^&6;\`)5fC4&a5IJRYohWl%B?V[#6E&lp`C#%"N<W`f6ZjFEDVk/mU`36kC:V
/"?q2&L0c,(W^STDVWT^>:,V(A)FP.gU>Y4<Jr!:4.Lmni,J,>3U%':6?7hfPq,qu
p?pbK,0$$,B0aeh0pI(Ib*BDq1*0_qI"Gl"kKcZ-M*V2^d\KIS@B]3WR#fj_DC^W9
@M+X<))<"*#p7(pPdu/8mQf:5F_aUHDV_l]D;#]$;-q\qOkS_%^f%.8k4Irh9D-_s
-Vr7&kg:k5IB#XH6Ym8jA&\q5dB6ceL(,(k7RdF_A,6Jki<.8dPETY)S2krim#)Z5
Y#qr<il$\S=0JK'JqWc9kfg/5[uA36((3M"9%&LY5u@u>WDf^0)9>c"/X!Zd;sZ99
I^BB7WDoi0[C"NF?q<fo]Rid%XPi#E`agolFm[lt1]d^[cmY"70=XCf5j5Hb^4AN&
Kgls3QNB*=/KZ^WA36Xt)`A6/\.!j`?qA7RNugI&#;mb"UB?s]$:[%8S'i'o7b+p:
E7Kj8o]ah5.Cen!!0IUgXHq,@La;s6H&S/\2fHPT(]oH3JI=CM&e\"^&fKaR4:rn!
P[Xq+0kN0%2mC(D_"[TtVgL6pbmBP)8P+:5,R_CfSVfkE[e'`U#tch]U.?OME8]!m
X]l#J6jtfBQ`$Z[4_`)+j.V>5#M8%3EQTb8ag7+@1q>jVDT(AKLC^dd6>\2aZ0at*
EY)3$$):"OG*d[qBaZPUbE*Nt#Dg;`="n&!`8aJc"TFL?PnGB^)`i)>E[!2(-X_/M
9>:oppI6+p;@1XXIu13g:4LAm2h?H1eQC,#YfN&rm*)R1IJS[W%1?t"[!"^m]RTq(
3+Qu$QLRe3P;TT5?oc,N[t8=PaO[7b+2B-IWTT7r3OSr>a'TPcp*jh:E6CKm'_<>[
Xg2[b+c0QP0f_R+'[iX_,sT/?^\ho*97ZYWg8f`$mI(qWmhn?9n1[&/F+\f3,F_-/
MN2Bd(*;;+AQ32]!,p7IMF$"JD43s_eu]V(!;p!NV/uR4m$tr="`-uug5V;qVUWZ.
;jkVXrRtW=RR09K.R/mTF)\![+hk-C9cE67,#J^`IEMK'Hh'7ar9q_2n=\KXg;gX;
=MI.sL*=R53UZ/BSu;e?;-@%)bXe]aS[=_g:CucDe#-!*mKkr8B\'7f`aOQae"68%
YN;t4Wcf79((*X-"lu.T=Y*HXB&a7hW*ol>)WY89b+Ls0b^?#`Se(9S@*I4Es4;8$
3M2[anN7P2Rl504VH%E7&;_K;b:b]J;3TAHgd3Ip0FEF%(#Vu=DI1W/m"5/]M'GKa
9*5A,5g8n+7Bn<FMi$&p0#ogmT9bdTl]^u5F:hNF>O@&cdjsK2'n?%8H(Res;82)Q
JA+7un?7]o/YcM-Bk>%OqJ^a28o&0U*ooKlSp6MZqO4.`Pt*rbqXc4_:?b=7V#$gI
0Fg5sn_>nZ(&5d91H9*DO.Hpe0TI,M9,L/@oYb[8,0Q)nj1qeu*<[gJY<6k#LpsSF
!%,pHle!Yj<WLnTa^.,V()7PSj0,I_r1T=QdQ47*9ZuYP2Jib,W5Xf8pk'PP/VL0:
obq,r]>.+MoZK030Rsj/6'[UrU1-]7D/4'n2_<iD[iu\;n2G4<FRnKaTk\^VUachT
:+138mmFN4/ERBpS39rmcS$iV0bPBE<#7US55j*YSN@W==:c;daOg0-/28l!qtBDm
euYQ>gTtN'A"HHU[X7adR^aS4NbmCSA]KfO)`MZi]6E_;6\e^F>ff>\9q"HfM&_ZV
l"Z35T8KUTjjEaUijkdiTqMmHqJ"46`J_ct+"t07SjnQJ?9J6gk,+4lMI<X%!a8!N
d%f!<V7h*[Qle)iWqf^BMim8>1EsILWG9r/8Z=/bq%m)I0aWu`__Qf[C,(6`:l?T$
YAQ$cJU(?&Qh!?%ZBoK(:Zpp%3;%9EO/aP#A7,+IS?cuY+D\cJj)E89$/uIsG:)uD
5sup)($4TLL>=o2f;_mM:L1OE$V2e^F,c*9leT2Ik09B(`W#i5QRl:V(^_9GG]<!"
XmcSLbaC9Mkg?0p9r(t(F=AlLG4"#Da,dQ7eZ)U`n8md<NK9-uWf2gmi]Reo5&<?8
%@X/7lT_K&$&k/")$XI`=_<4&L;b$<(79g/#D'/p"U0i](.T4-BN,ND9rLl)=uWJ2
#*ZJm@r**b/\s]G+gE2F`-jotCb!RG(!o9W<Dp5*7=j3+maq7j)$GrikN:p^F3f?%
n%@QT^0bX[99LTH;D#IlI%5)nMA<"/hGpUW"e87'ShREdVt"J\U=P]]n\l<p;r"e7
[^lE_CB$Bmc6%%4\#t#L[<7:2(q%bLoUJ-ihFAZ8(okV$_2/3#eMZjVUCBY*$@#C8
f.g;'`(QbWlN/5ch23"UI.;!U]b]?.3bl"[D`ptgMPp`[]2kb>FS[rg+rT'GcIUFp
9Lm-$9:,R>W)].KT3GCc#ked"lsJr$SS-06!@MdMaX<\pZkm%n@JTKU)`DNb\om=[
cTR&hB$He;fOKuUo[6AoGOBkWp"-C\p0*osET9M5T6]Q:,@>`X'eGT7PuU[Y+`kiM
b7>XV(cEV(VUO)tG7%MK%McBF.U<8[Xbm<ARRAu-*P*?`,X=tPmHts)`/#!n9tJ;H
E"Q.R3V"mT,818(!="XEGk+MVVD\J'OY</e[q#:FX>M2rCZ3&t*hide5^``$"%!:C
%VIujr/hsA5@YX7>om,h(&Rfd5WUcgi]&9D@;ipZ[Yuo0&lMNdAu`gX8&GA^9Ud<Z
=.aoTrpT0AX\j(0J*BeVbFT`hi1,0"[oEcEHtHt;nf_aoi*k<EAYVbV-@%Y/)R;\4
e^`4FMQYnd3i`JtrU)VZrU=/9#UpZ.1%o"$e$P56W,(B+k/$4KbX4Gt`W"m%W>c$D
f?5h^*!]q\jtg,bM8H'Zp88@]m)g'A5Vk/N"=06jU37i),RF[J!\X`-n2u4H![H#Q
+-n6JR!@u`UWP<R!?jW*&oF!j9]X#]O4qi(nY/#E$0o[Ub$mU!=2=WkNZC3Y>,n8S
=8Z?SPY/Oq#Vk;EcTWk<$Pk:TSuYqr%d?*=IZh/A2W(acYuFIf<d4H-gCK0dUaT*2
U>;5MdBX^/\A=)e-;F'Um4;PSo]DW](.R:p&l_,!*e4*-D&]^U,tjQneSEd>^%9N2
U&*`'rcDQ*I^'Ls&/C;m(]6+@c2SAu4;A'n\^#'b=OGZL%HeB/.3VnX%'C<<M'nn1
RC4qgfJ(],^5_qQ>u)C^J[$+f>$Z6t7BtD;hKr$/50#$M.B5*$#:eXTC,F5"QPPS#
ad9r^hq`cIB7MAb28+o_/fH&K\#=fcnF.B)'59==e0q[dE8Wu<V6dRN51qBJFpNYT
V:%g@EpOkYm+o9thnFLl^\kBl>AbJ-i;CNL7O)g3]HP2(Ap)*^7D4#b&mh<^5tA:$
,Y43PB@!/dn0<uV@bYtec35IQ1!d^j$ce;M%o/G&k*g(EWMuj?A0S[,j[tdA+ROF6
bt'l,jW!=>V]UC4L9bjcjt03Z:)uA&Q_64ceYBV[;7J[sWbo^SRYZ=np81QR@PbLM
HL"9ah#tCl\Q$/Aqqa;Ho.r'6;2Sa.!>O^j6\gE%,f&PHoSD6\IN/n9E,p2;!L_A\
BgTmi!XZ(3%j;<fA6@cIl=h3am'qB7'&MTbLBh+0E)aGmmIZ(kMc+Tg-g&p85Ve(m
q8oHE'OI,!E>DFEZ_XBBn7,S=5NZKL,Yfhkk4G4MUSE9dMX%6Xb"DN%e#dt:mljK`
_iFHV?erDDqt@(n]#sfiP:)QQYk21sSm-*C7:<5TA]g7^RlBY9]Qc0kjCWIREn\!@
:Yd_T++O:q71*`BV8t`#)EW8hcPA,G>H?t@=PjMh)Dj[l\Eg<0>ZTpPU`2=7A/K-<
V;Si?IQL\(V+ZcH;l:fEVpf_^nDQ@kGH"`Z,ET:iJ,fK2j<+$8rVlcmX3mRgcn<V"
660KQT]1#:ODn0cm*<M(%YG"a^@[RXc5@f&&3*c)JIjd_XCW6DV(H-f(aU5F\_3^O
,2T`;\2`/YI=8d3+#%(f,3t!o*D3_Y`MnD&@iRm_!p!pZ>pfO#;lR.#+#@M&%+^h=
$Y[I(iA$a9-[Bu_k\*du"&Z,_=5"%iQBjO_X:^H9:)WZdcY%pD%N#j,:;fnMF`i4V
_$(YM$&W=^8nc.<8DBXpF'SQq(LB(Bk"J'0N,)IsqT&R;mER[Y4d__p=`'P^.AL6I
0er'`f*qt"2q)/[7Gks+@'6T4m+Sith01aNhg`E:9kZ!`%SKP_8q8L2OP=tW2CSr-
;QcTD+9e1RKRPs;'WIH>5H<!2#7`RK2IZt9ne_#hBalFDnA-^8U4[+PmbS%.._&h:
rjg&-%mPA]q]![=DG'h8B#rmP)5[uP.)k[9A&&cbO]uehr,sbJIW-OK66-,#^`SQr
/^MOhU_*psVu&7LNZC4RCtlDCKQ.1;K9Qd;BO>^4TjdXn>uo?L<KiW3?.6P$Q7C?q
0D<^@i>1M4Pn"fqW7n8OW[thsd3@pIWQjHi<GI?G%Z)2>"`+U:/*9/5V^qcEQZq??
#H6!YIV>^]WeOUtYc4ehNrp7UD1?9lm+ITWJYg6#6As]Fj,FnkcW&V)\m1o9F$CCl
/p-I4Z&U/Krf,9q=MObF+JmMDAe1lJ&Q3'D[G29<4*U`EKZ_^RW$GJ[%4%d?^rjp.
cY=8:`Xn.IraY;JT8t'WQ=q7PA$k`K]ShJg,\#B,C\\.>3'TXb*q0/Enh]f)MT7>T
\knff,>VkHac76(&i>?o>O0kB__=J(_MaWi>mu@Xh7IldZ3M1+\2]BNKJ]T&8I8ZQ
l.(PTEkcM@FUNd1c^6WHcHY%le>3)\&#PV<m]Ic4W8K4dKhQj4'j&20)XY-%XqOK2
U3FVhl__Zpf</G4OU?F,Zq>1HPuY%b6VX\j!`#'4+5_[&ImAg@A@H@t9H$t(%9Ioh
Rq0o\e##j,0L<V5[VXV0$N@`2;ZJ6Z&6A=3U?qE+Th`,g%Je/Fej*uPES*`.J,&hP
s7Q3Qb9IFh:4E;jbiposgj_N`PRRVdYYkU!3l@,C)O.D8K'Ukj,E^C1]mEs9.k@[5
]NfDb5OO6F;$9'C0^u20MKYe.Bk]#;&etjNi%Fd<NMi@o.S_#^bY.`&2/ALZXCsi$
!/gXH/jr)RI0u*(9cE_c9Xt+Jn;r5M2`FgDK8OjpI.0GjWo34`@d,4JoaRPm-"e,'
^$P*%#CQOHk7n&J>P6T24*L>]RKk+OccKh>-lVSsbK8;cM2:`7pV94.c7iZm8qR<W
i[Q81i5(&JaNV\M5o4-b+#[rfi*-[tH0(=$4dBUf2C=]To$[slc;rpq,&._m.%3k6
h1`F@phshZ?ki`-JYgqi%VN6UN3GZ>^A.7Hj2SPio.9jb[\p&@QDQT8$W>]bCH$l?
'EX&3+i.&4^rjjV#\efn3Eo<VJ.q9$f[rB'CMQ@4+u>5!><O>9P0go=lDlVLCY,^Z
++;WRa'YL\+ZoSM:HpGhDnYgE/.l;n^OEk0a<M;$,r\iWYH51,&qo&G3uq.%LK>9t
^G$./#.o3>JHoGG74eZ3='pB`2KAf%,tjOPkQ:cmb<r?u?I]Y2+*r1d`_H&;cXFh6
1UDGjk,B$co=C.8o&@@eh0KX`+Thq7'pVa`QBr@&7sr7thXD/V$Q<_hK[^TQ@V/`*
44]iZD][XNA/eX.-ZnNn!Qd8_F4[?GQ)5o",Nm:p9_mo3"Oh8Ue'<Sq&hG1S+52t,
Z'0E]o'_X#Ie@i*!lhGf6]GNk0bqQ6`<0
我不确定我是否仍然需要解析数据或对其进行编码,或者php中是否有某种工具来呈现这种类型的响应


任何帮助都将不胜感激。谢谢

您在这里发布的内容实际上只是PDF文件的一小部分。您在这里粘贴的内容是文件的开头,看起来是合法的,是XObject的第一部分,它是PDF speak,在本例中用于表示图像。如果要对此文件执行一些有用的操作,请注意以下两点:

1你在这里所拥有的只是很小的一部分-你需要完整的PDF文件才能使用它


2行结尾在PDF中很重要,因为文件格式适用于对象和文件末尾的交叉引用表,其中包含所有对象的字节偏移量。因此,如果你搞砸了行尾,所有的偏移量都不会起作用,你自己也有一个损坏的PDF文件。如果您将传入的数据视为二进制数据,并将其写入一个未更改的文件,通常您应该得到一个好的PDF文件,前提是他们向您发送的是完整的文件,而不是此处显示的片段。

如何将此数据粘贴到文件中?你到底是怎么做的?我刚刚编辑并重新表述了我的初始陈述,但就像我上面所说的,我只是喜欢将数据粘贴到文本编辑器中,并将其保存为pdf文件。数据来自哪里?你是在文本编辑器中打开pdf并复制它吗?很抱歉,这是关于PHP的问题吗?@chiliNUT数据来自我正在处理的项目的响应,他们只是将数据作为字符串或文本提供给我。