在c中不使用任何第三方库创建pdf文件?

标签 c pdf

我的目标是创建一个文件并在其中保存一些文本。但问题是文件应该以 pdf 格式创建,而不使用任何库。 我写了以下代码:

#include <stdio.h>

int main(void) {
    FILE *fp; 
    char ch; 
    fp = fopen("file.pdf", "w"); 
    fprintf(fp, "%PDF-1.3"); //to initiate data storage in pdf file 
    printf("\nEnter data to be stored in to the file:"); 
    while((ch = getchar()) != EOF) 
        putc(ch,fp); 
    fclose(fp); 
    return 0;
}

现在我的文件是以 pdf 格式创建的,但是当我双击打开它时,它没有打开,并给出如下消息: “打开文档时出错。此文件已损坏且无法修复。”

请提供解决此问题的任何建议。

最佳答案

将文件命名为“file.pdf”并写入几个 header 字节不会使其成为 PDF 文件。文件格式由其内容决定,而不是其名称(或file等某些工具用于“猜测”格式的几个字节)。

如果您想“不使用任何库”编写 PDF 文件,您需要 PDF 文件格式的描述,然后根据该规范生成文件。

强烈不鼓励这种方法。第三方库的存在是有原因的。

关于在c中不使用任何第三方库创建pdf文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21773948/

相关文章:

c - GCC 透明联盟

c - 字符串中包含的数字之和

c++ - 将无符号字符数组转换为整数

c - 删除重复值并在其位置添加 0

c++ - 使用 MPI_Barrier() 后 MPI_Wtime() 的巨大差异?

java - 设置 pdf 内容页的标题

pdf - Flying Saucer 无法在 ubuntu tomcat6 上解析图像或 CSS

python - 如何将多个 seaborn 图保存到同一个 pdf/png 文件?

java - 输出流到字节[]

c# - 基于 HTML 代码生成 PDF(iTextSharp、PDFSharp?)