【发布时间】:2018-07-04 04:58:45
【问题描述】:
我正在尝试使用 API 下载 PDF 或 Word 文档格式的文档。该服务仅提供有关如何构建请求 URL 的指导,我已经完成了。
API 在 url 中提供了 xml 或 json 方法,我使用的是 xml。
我已尝试获取字符串并将其解析为 XDocument:
XDocument response;
using (var webClient = new System.Net.WebClient())
{
response = XDocument.Parse(webClient.DownloadString(url));
}
Console.WriteLine(response);
我也尝试下载为文件:
using (var webClient = new System.Net.WebClient())
{
webClient.DownloadFile(url, filepath));
}
两者产生相同的结果:
%PDF-1.5
%µµµµ
1 0 obj
<</Type/Catalog/Pages 2 0 R/Lang(en-US) >>
endobj
2 0 obj
<</Type/Pages/Count 2/Kids[ 3 0 R 27 0 R] >>
endobj
3 0 obj
<</Type/Page/Parent 2 0 R/Resources<</Font<</F1 5 0 R/F2 7 0 R/F3 9 0 R/F4 11 0 R/F5 13 0 R/F6 21 0 R>>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 18 0 R 19 0 R 20 0 R 26 0 R] /MediaBox[ 0 0 612 792] /Contents 4 0 R/Group<</Type/Group/S/Transparency/CS/DeviceRGB>>/Tabs/S>>
endobj
4 0 obj
<</Filter/FlateDecode/Length 6592>>
stream
xœÝ=k“Û6’ß]åÿÀOYÍžÍo2ÙrÝ8‰sÙ‡Çn²Æ2=¦¡|ó°ãÔþøën€/‘ÐH r]¥"%ˆÝht7ú…KÎïÞ:Q™H•0#R©®xš©ä²¼{çå_ïÞùßíC~ùkRÓ“åi.›B¥Fï÷Œ‡ÏîÞùôK¸I<{y÷K2ø%ŒóTfR™'Ï.îÞÉRø,ÉRžkx•Ery>ñá_ß½óÛ"9ùwòìïwï|ÏÿÑ…J‹¼A„ñ4×r®<a,Í䮺ÈS×\¤ïáZÌ"ë6Ts•*UCd
NUÃS„ªÊ¤<.UU‘š T•9)&U¥NMª
–ʸTðû Te9rRLªò•L
还有更多这样的事情发生。这是非常奇怪的字符,我不知道如何从中解析 XML 或 PDF 文档。
【问题讨论】:
-
你为什么要转换它?那是一个PDF。将其写入磁盘(将其命名为 foo.pdf)并双击该文件以在您的 pdf 阅读器中打开它
-
当 API 只给我 xml 和 json 选项时,我没有意识到我正在获取一个 pdf 文件。谢谢@rene
标签: c# api file filestream