PDF 문서에서 임의의 페이지 (즉, 반드시 첫 페이지가 아닐 수도 있음)에서 스냅 샷 이미지를 만들고 싶습니다. 이것에 대한 무료 도구가 있습니까? 나는 델파이를 사용하고있다.
TIA
스티븐PDF 문서의 스냅 샷 이미지
답변
스티븐
나는 몇 년 전에 같은 문제를 가지고하고 신뢰할 수있는 유일한 해결책은 클립 보드에 복사, (7) 아크로뱃 프로페셔널을 구입하고 페이지를 추출하는 것을 사용하는 것이 었습니다그런 다음 축소판을 만듭니다. pdf 문서에서 페이지를 추출하는 데 사용할 수있는 무료 방법이 있는지 매우 흥미가 있습니다.
procedure TFormMain.LoadPDFDoc(Filename: TFilename; var Bitmap: TBitmap);
var
PDPage : variant;
PdApp, PdDoc, PdRect: variant;
begin
try
PdApp := CreateOleObject('AcroExch.App');
PdDoc := CreateOleObject('AcroExch.PDDoc');
PdRect := CreateOleObject('AcroExch.Rect');
//Open the pdf document
PDDoc.Open(FileName);
PDPage := PDDoc.AcquirePage(0);
//Define the rectangle to fit the page
PDRect.Top := 0;
PDRect.Left := 0;
PDRect.Right := PDPage.GetSize.x;
PDRect.Bottom := PDPage.GetSize.y;
//Set the bitmap proportions
with Bitmap do
begin
Width := PDRect.Right;
Height := PDRect.Bottom;
end;
//Copy the rectangle to the ClipBoard
PDPage.CopyToClipboard(PDRect, 0, 0, 100);
if not VarIsEmpty(PDPage) then
PDPage := UnAssigned;
//Close the pdf document
PDDoc.Close;
//Paste the image from the clipboard
with Bitmap do
begin
LoadFromClipboardFormat(CF_BITMAP, ClipBoard.GetAsHandle(CF_BITMAP), 0);
PixelFormat := pf24Bit;
HandleType := bmDIB;
end;
Except on E: Exception do
ShowMessage(E.Message);
end;
end;
감사합니다, 피터
그것은 The QuickPDF Library을 확인하기 위해 당신의 시간 가치가있을 수도 있습니다. 나는 약 5 년 동안이 도서관을 사용했다. 이 책에는 원 발행인이 오랫동안 고통스럽게 포기한 서포트 그룹이 있으며 PDF 월드에서 중요한 이름을 지닌 사람 (Karl De Abrew)이 후원합니다. 그들은 그들의 다운로드 페이지에서 그들의 제품에 다운로드 할 수있는 참조 매뉴얼을 가지고 있고 나는 ClonePage 또는 무언가가 있다고 생각한다. 어쨌든 설명서에서 답을 찾을 수 없다면 지원 센터에 문의하십시오. 그러면 수행하려는 작업을 수행하는 방법에 대한 완전한 설명을 얻을 수 있습니다.
방금 "자유로운"요구 사항에 주목했습니다. 도구 상자의 가격은 249 달러로 상당히 높습니다. 프로젝트가 판매 될 것이라면 적어도 사용자에게는 무료이거나 적어도 별도로 책정되지 않을 것입니다.
잭
당신은 pdftk와 ImageMagick이/고스트 스크립트를 사용하여 2 단계에서이 작업을 수행 할 수 있습니다8 년 동안 QuickPDF 라이브러리 비용이 1500 달러로 6 배나 많았고, 적어도 나를 위해. (이는 연 25 %의 인플레이션입니다.) –
1 단계 :
pdftk.exe file.pdf cat 2 output page2_only.pdf
단계 : 관심있는 페이지로 새 pdf 파일 만들기 2 : 새 PDF 파일을 jpg로 변환 :
convert -geometry 1600x1600 -density 200x200 -quality 100 page2_only.pdf page_snapshot.jpg
convert은 ImageMagick 명령입니다.
ImageMagick이 작동하려면 Ghostscript가 설치되어 있어야합니다. 이 테스트를 거쳤을 때 convert는 pdftk로 인한 PDF의 잘못된 형식에 대해 불평했지만 출력에 영향을 미치지는 않았습니다.
imageMagick에게 '[]]로 원하는 페이지 만 변환 할 수 있습니다. 예를 들어 convert -geometry 1600x1600 -density 200x200 -quality 100 file.pdf [2] page_snapshot과 같습니다. jpg' – isalgueiro
고해상도 스냅 샷을 찾고 계시지 않으시려면 Acrobat의 ActiveX 구성 요소를 사용하여 특수한 형태 (전체 화면, 테두리 없음)로 PDF 파일을 열고 페이지로 이동 한 다음 screenshot of the screen을 가져올 수 있습니다. 그 양식을 즉시 닫을 수 있습니다. 그러면 단지 깜박 거리고 사라질 것입니다.
ImageMagick은 Windows에서 사용할 수도 있고, ShellExec을 사용하여 숨길 수있는 매우 간단한 명령을 가지고 있으며 JPEG (또는 다른 이미지 유형)를 만들 수 있습니다. 명령 줄에서
고스트 (사용할 수없는 액티브 compenent) gswin32c.exe .... 매개 변수 ..... (아주 쉽게, 문서화 참조)
일부 델파이 관련 도구의 비교 PDF를 관리하려면 : Top 9 PDF Managing Tools. 지금까지 나 자신을 사용하지 않았으므로 추천 할 수 없습니다.
오픈 소스 인 PDFlib Lite도 있습니다.
P.S. .: "원샷"(수동) 솔루션이나 프로그래밍 방식 솔루션을 원한다면 명확히 할 수 있습니까? 귀하는 귀하의 질문에 Delphi를 언급하지만, Pieter van Wyk에 대한 귀하의 의견은 수동 솔루션으로 만족스러워 할 것입니다. 설명서의 경우 다른 사람과 마찬가지로 Ghostscript (engine) with Ghostview (UI) §을 제안합니다. Ghostscript에는 API that can be accessed by Delphi이 있지만 상업용 프로그램을 배포 할 때 문제가 될 수 있습니다 (크기, 라이센스 등).
§ 먼저 Ghostview보다 Ghostscript를 설치해야합니다. pdfwrite (또는 원하는/선호하는 다른 이미지 형식)/해상도 선택 (화면에 충분할 수 있음)/페이지 번호 선택/확인/폴더 및 파일 이름 선택/저장하고 완료되었습니다.
- 1. 플래시 As2 이미지 스냅 샷
- 2. 문서의 '스크린 샷'
- 3. Amazon EC2의 스냅 샷
- 4. maven 스냅 샷 업데이트
- 5. 스냅 샷 격리
- 6. SSRS : 스냅 샷 런타임?
- 7. 스냅 샷 동영상
- 8. 메모리에있는 개체 스냅 샷
- 9. TSQL 스냅 샷 격리
- 10. VirtualBox 스냅 샷
- 11. MPMoviePlayerController의 스냅 샷 비디오
- 12. Xcode 스냅 샷
- 13. UIWebView의 스냅 샷/스크린 샷 찍기
- 14. Flex에서의 DisplayObject 스냅 샷 3
- 15. Windows EC2 스냅 샷 문제
- 16. SQL 2005 스냅 샷 보안
- 17. Mac에서 프로세스의 메모리 스냅 샷?
- 18. CGL에서 내용의 스냅 샷 찍기?
- 19. 원격 컴퓨터의 스냅 샷 찍기
- 20. 어떻게 내가 스냅 샷 버전이나하지
- 21. 페이지 스냅 샷 자바 스크립트
- 22. SSRS 2008 스냅 샷 보안
- 23. SQL 스냅 샷 격리 제한
- 24. 플래시 컨트롤로 스냅 샷 캡처하기
- 25. 스냅 샷 데이터를 XML에 저장하십시오.
- 26. hudson/maven 게시 스냅 샷
- 27. 플래시 비디오 스냅 샷 찍기
- 28. 동적 DOM 노드 용 스냅 샷 위젯
- 29. ReportLab (Python)을 사용하여 PDF 문서의 PDF 이미지
- 30. 웹캠 저장 jpeg에 실버 라이트 스냅 샷
감사 Pieter, 지금까지 최고의 답변! (어 .. 단 한가지 * 지금까지 대답 :-)). 시스템에 Acrobat이 있으므로 코드를 테스트 할 수 있습니다. 잘 작동합니다. (그러나 Acrobat은 대상 시스템에 없을 수도 있습니다). 누군가가 저렴한 대안을 제시하는지 알 수 있습니다. 그 동안 다시 감사드립니다. HANWE – stevenvh
바보 같이 보이고 클립 보드를 통해 이미지를 전달하는 데 많은 시간을 낭비합니다. 직접 비트 맵에 복사하는 방법이 없습니까? –