Q&A

  • [질문]pdf파일로 저장된 이미지를 읽고 싶어요
델파이7에서 이미지 파일을 읽어 와서 뿌려주는데

그게 jpeg파일, bmp파일, pdf파일 어떤것이 올지는 모릅니다. 확장자도 안붙어 있고요.

자기가 알아서 판단해서 열어야 합니다.

jpeg, bmp 파일은 try ~ except 문을 사용해서 jpeg가 아니면 bmp 파일이라고 생각하고 읽어라

하면 됐는데 갑자기 pdf파일도 들어왔습니다.

어떻게 구별하면 되는지 3개중에 한개를 구별할 방법이 없네요.

그리고 더 어려운것은 pdf파일을 읽으려고 adobe reader를 깔고 델파이 activx에서 관련 콤포넌트를

깔았는데 이게 사용하는 방법이 어렵네요.

잘 찾아지지도 않고 사용할 수 있는 간단한 코드좀 예제로 알려주세요!

아니면 다른 방법으로 읽을 수 있는 방법좀 부탁드립니다.

미리 감사드립니다. 행복하세요!
1  COMMENTS
  • Profile
    땅콩맨 2010.04.16 10:32
    폼에 Acrobat ActiveX Control을 올려놓고

    unit Unit1;

    interface

    uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, OleCtrls, pdfLib_TLB, StdCtrls;

    type
    TForm1 = class(TForm)
    Button1: TButtonl
    Pdf1: Tpdf;
    procedure Button1Click(Sender: TObjedt);
    private
    { Private Declarations }
    public
    { Public Declarations }
    end;

    var
    Form1: TForm1;

    implementation

    {$R *.dfm}

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    Pdf1.LoadFile('C:\test.pdf');
    pdf1.setShowToolbar(True);
    pdf1.setShowScrollbars(True);
    pdf1.setCurrentPage(1);
    end;

    end.
    • 이재욱
    • 2010.04.16 18:03
    • 6 COMMENTS
    • /
    • 0 LIKES
    • 시니
      2010.04.16 18:21
      ... string은 char형들의 나열이라고 생각하시면 됩니다. char str; // str이라는 변수는 1바이트로...
    • 박제홍
      2010.04.16 19:22
      지정된 스트링 길이를 알아내는 법을 질문하신 것이 아니라, 시스템 내에서 사용가능한 스트링의 최대 길...
    • 최유준
      2010.04.16 19:38
      델파이 질문에 왠 C 답변이 올라온거죠?? 답변은 정성스레 올리셨지만..내용은 좀 당황스럽네요.
    • 구창민
      2010.04.16 20:25
      윈도우즈 32비트 버전에서 어플리케이션에게 할당되는 메모리의 크기는 2GB 로 알려져있습니다. 스트...
    • 이재욱
      2010.04.16 21:51
      답변 감사합니다. ^^
    • 폐기처분中
      2010.04.19 08:42
      시니님께서 올려주신 답변은 C에 해당하는 내용인지라 Pascal 을 언어로 쓰는 델파이에는 맞지 않습니다....
    • 신주용
      2010.04.16 18:16
      <!--CodeS--> 아...저도 그런 경험있습니다 전에 하다가 프로젝트 드롭되서 잊고 있었는데... ...
    • 정재현
    • 2010.04.16 17:56
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 이유신
    • 2010.04.16 17:34
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 시니
      2010.04.16 18:22
      텍스트로된 파일의 행단위 정렬을 할때 사용하는 명령어이다. 복잡한 워드문서등의 편집이 아닌 간단한...
    • 이유신
      2010.04.17 00:14
      위의 해결책은 리눅스 명령이이네요 그런데 저의 문제점은 text file에 우선 field라는 개념이 없습니다...
    • 땅콩맨
      2010.04.17 07:12
      아니면 원하는 Column부분을 Sort할 수 있는 프로그램을 직접 제작하시는것은 어떠세요?
    • 황재훈
    • 2010.04.16 15:09
    • 8 COMMENTS
    • /
    • 0 LIKES
    • 송재호
      2010.04.16 16:42
      헛.. 저도 정말 필요한 방법인데.. 꼭 아시는 분 있음 답변 주셨으면 좋겟네요~
    • 하기
      2010.04.16 17:47
      RS232C통신을 이용하시면 된다고 하는거 같던데요...
    • 지나가는이
      2010.04.16 21:57
      232통신을 이용하면 read이벤트에서 읽은값이 string으로 넘어오니까. 커서위치하고는 상관이 없고 p...
    • 멋쟁이
      2010.04.16 23:02
      타이머에서 주기적으로 커서를 옮겨주는건 어떤가요?
    • 황재훈
      2010.04.17 02:59
      usb용 핸드스캐너는 그냥 바코드를 읽으면 수치로 표시됩니다 문자나 숫자를 입력할수 있는 곳이면 어디...
    • 델초
      2010.04.17 03:16
      위에 분도 말씀하셨지만 바코드 스케너를 시리얼 통신 방식(RS232C) 의 장비를 사용하셔야 합니다. ...
    • 땅콩맨
      2010.04.17 06:37
      델초님 말씀대로 RS232 방식에서 처리되는 핸드스캐너 프로그래밍방법을 찾아보면서 질문하신 문제가 R...
    • • • •
    • Conan
    • 2010.04.16 10:51
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 장성호
    • 2010.04.16 10:08
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 땅콩맨
      2010.04.16 10:32
      폼에 Acrobat ActiveX Control을 올려놓고 unit Unit1; interface uses Windows, Messages, S...
    • 신차돌
    • 2010.04.16 08:51
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      2010.04.16 06:50
      프로젝트의 형태를 DLL 로 만드신것 아닌지요? EXE 로 하셔야 그냥 실행 됩니다. 그리고 윈도우 7이신...
    • 김재훈
      2010.04.16 07:25
      저의 경우 윈도우 7에서 델파이7과 2007을 사용중인데 델파이 7은 에러가 간혹 생기곤 하는데 2007은 괜...
    • 윤성철
      2010.04.16 08:03
      두분 답변 감사드립니다. 많은 도움이 되었습니다. ^^
    • 델파이2
    • 2010.04.16 01:21
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 우용우
      2010.04.16 20:25
      델파이 코딩인지 패스트리포트 코딩인지 정확히 하셔야 하겠지만 일단 패스트리포트 코딩이라고 가정...
    • cos
    • 2010.04.16 07:15
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 이길남
      2010.04.16 18:21
      OnDrawColumnCell 이벤트를 사용하시면 될꼬 같습니다. 물론, DefaultDrawing는 False로 해주시고요.
    • 김정원
      2010.04.16 18:51
      DBGrid에서 DrawDataCell 이벤트에 Canvas에서 컬러를 바꾸고 DBGRID.DefaultDrawDataCell() 에서 바꿔주...
    • 임우식
      2010.04.20 03:42
      아 감사합니다.^^ 해결되었습니다.
    • 이민규
    • 2010.04.14 02:48
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2010.04.14 08:21
      Multicast서비스를 하는것 같지 않은데 왜 Server컴포넌트를 쓰시는지요? 단말쪽에서는 IdIPMCastClient...
    • 이민규
      2010.04.14 21:42
      조언 감사합니다. 송신쪽에서는 데이터를 계속 보내는데 수신쪽 수정을 담당한 제가 처리가 늦어 데이...
    • 최용일
      2010.04.15 00:06
      VLC를 이용해서 먼저 테스트해보세요. IGMP버전등을 확인해보시구요. http://www.videolan.org/vlc/down...
    • 이민규
      2010.04.16 19:08
      감사합니다....IdIPMCastClient를 이용하고 네트워크 팀과 이것저것 확인하다보니.. 해결되었습니다.......
    • 얼씨구
    • 2010.04.14 02:07
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 땅콩맨
      2010.04.14 07:05
      TComport 컴포넌트를 사용해보세요. <!--CodeS--> procedure TF_bs10.ComPort1RxChar(Sender: ...
    • 땅콩맨
      2010.04.14 06:45
      폼의 속성중에서 DoubleBuffered속성을 True로 바꿔보시길~
    • 화담선생
      2010.04.15 01:20
      물론.... 바꾸어 봤습니다.... Form 이건 Panel 이건......
    • 땅콩맨
      2010.04.15 07:06
      WM_ERASEBKGND 메시지나 DoubleBuffered 속성때문인것 같은데 왜 그럴지... 흠...