나는 한 위치에서 다른 위치로 다른 처리를 위해 PDF 파일의 내용을 복사하는 C 코드를 작성했습니다. 내가 한 것은 :C를 사용하는 부적절한 PDF 파일 복사 C
열기
if ((fp = fopen(argv[6],"rb")) == 0) {
fprintf(stderr, "ERROR: Can't open input file %s\n",argv[6]);
goto out;
}
그럼 내가이를 엽니 다 MuPDF을 사용하고
/* save the contents for the file to a temporary location */
tempfp = fopen(CUPS_IPTEMPFILE, "wb");
while ((n = fread(buf, 1, BUFSIZ, fp)) > 0) {
count = fwrite(buf, 1, BUFSIZ, tempfp);
}
fclose(tempfp);
임시 위치에 PDF 파일의 내용을 저장 바이너리 읽기 모드로 파일 파일; MuPDF이 파일을 제대로 표시 할 수 있지만, 그것은 터미널에 다음과 같은 오류 제공 : 나도 같은 파일을 표시하는 Okular의를 사용하는 경우
$ mupdf cupsiptempfile.pdf
error: cannot find startxref
warning: trying to repair broken xref
, 나는 오류를 얻을하지 마십시오을
$ okular cupsiptempfile.pdf
okular(12821)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:
okular(12821)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:
okular(12821)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:
okular(12821)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:
okular(12821)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:
왜 여기에 차이가 있습니까? 복사 부분에 문제가 있습니까?
추가 정보 : MuPDF를 사용하여 원본 PDF 파일을 열면 오류가 없습니다.
원하는 추가 정보를 언제든지 물어보십시오.
당신이 BUFSIZ 문자를 기입하지만 BUFSIZ 문자를 읽고하지 않을 수 있습니다 복사 할 때 - 변수 n이 읽은 얼마나 많은 문자 그래서 당신이 작성해야 얼마나 많은 당신에게있다 . –
@ JerryJeremiah 네, 맞습니다. 그것은 그 문제를 해결했습니다. 어리석은 저, 나는 저것을주의하지 않았다. – Pranjal
도움이 된 것을 기쁘게 생각합니다. –