我试图使用C ++的File I / O将字符串输出到文件,但我决定将输出文件的扩展名更改为.pdf,.docx等等。
他们似乎都没有开放。
那么是否需要更多内部翻译才能使该文件正确(文件打开)pdf或docx ??
void convert(char *file){
ifstream in(file);
ofstream out("out.pdf",ios::out);
char str;
while(in && out){
in.get(str);
out.put(str);
}
in.close();
out.close();
cout<<"Done!!!";
}
答案 0 :(得分:3)
PDF是(<div class="wrapper">
<div class="top-row">
<figure style="margin: 0;"><a target="_blank" href="#"><img src="https://www.wegmans.com/content/dam/wegmans/products/768/56768.jpg" height="100" width="100"></a></figure>
<figure style="margin:0"><a target="_blank" href="#"><img src="https://www.wegmans.com/content/dam/wegmans/products/768/56768.jpg" height="100" width="100"></a></figure>
</div>
<div class="second-row">
<figure style="margin: 0;"><a target="_blank" href="#"><img src="https://www.wegmans.com/content/dam/wegmans/products/768/56768.jpg" height="100" width="100"></a></figure>
<figure style="margin:0"><a target="_blank" href="#"><img src="https://www.wegmans.com/content/dam/wegmans/products/768/56768.jpg" height="100" width="100"></a></figure>
<figure style="margin: 0"> <a target="_blank" href="#"><img src="https://www.wegmans.com/content/dam/wegmans/products/768/56768.jpg" height="100" width="100"></a></figure>
</div>
</div>
实际上是OOXML;当然还有OpenDocument&amp; DocBook)file format(在复杂的英文文档(ISO 32000标准)中指定,并定义哪些字节序列有效(以及它们代表什么)。
粗略地说,PDF文件包含在纸上绘制墨水或在屏幕上像素的基本步骤。通过大致简化,这些步骤包括诸如“将笔移动到位置x = 23 y = 50”,“选择 Arial 字体10pt”,“在其中绘制单词docx
”在该位置的字体“,”选择笔的粉红色等“等等,但细节要复杂得多。
文件扩展名没有任何意义(除了作为一项重要的约定)。
要生成PDF文件,您需要花费数周或数月的时间来研究该PDF格式的规范,或者为此使用一些库(请参阅this问题,以及podofo, poppler和其他几个图书馆。即使在图书馆的帮助下,您也需要了解有关该格式的内容。
是否需要更多内部翻译才能制作该文件
我不确定你理解翻译的意思(更好的词就是“转换器”)。您可以通过将一些其他内容发送到合适的发送PDF的程序来生成PDF。您可以考虑使用一些document formatter(例如LaTeX至abc
,或Lout,或troff的某些旧版本,等等。)使用更高级别的文件格式,其中包含与要格式化的文本(某些编码)混合的文本格式化指令。在类似Unix的系统上,你甚至可以使用一些命令pipeline(以避免编写一些“临时”文件),也许使用popen(3)和相关函数。
答案 1 :(得分:0)