Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

Convert 1page PDF to JPG and then insert to Excel

Posted on 2016-07-25
11
Medium Priority
?
73 Views
Last Modified: 2016-07-25
I have 1 page PDF files.  I need to convert them to a JPG or PNG file and then insert the image into Excel.  The PDF files are drawings and we want to display them in the Excel file.  After the excel file closes, I can delete the JPG or PNG file.  I haven't been able to get the PDF file to display as an image in Excel, so I'm thinking I need to convert the PDF to a JPG or PNG in order for them to show as an image.  I don't want to use Adobe professional to convert the PDF files.

Unless there is a way to display the 1 page PDF as an image?
0
Comment
Question by:maverick0728
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 6
  • 5
11 Comments
 
LVL 53

Expert Comment

by:Rgonzo1971
ID: 41727592
HI,

You can copy the pdf already inserted in excel and paste it as image and delete the pdf of the excel

Regards
0
 

Author Comment

by:maverick0728
ID: 41727610
Copy and paste of the PDF as a image doesn't work.

I have this code to copy in a PDF, but I receive "This image cannot currently be displayed".
Sub TestInsertPictureInRange()
    InsertPictureInRange "C:\Drawings\test.pdf", _
        Range("A79:J87")
End Sub

Sub InsertPictureInRange(PictureFileName As String, TargetCells As Range)
    ' inserts a picture and resizes it to fit the TargetCells range
    Dim p As Object, t As Double, l As Double, w As Double, h As Double
    If TypeName(ActiveSheet) <> "Worksheet" Then Exit Sub
    If Dir(PictureFileName) = "" Then Exit Sub
    ' import picture
    Set p = ActiveSheet.Pictures.Insert(PictureFileName)
    ' determine positions
    With TargetCells
        t = .Top
        l = .Left
        w = .Offset(0, .Columns.Count).Left - .Left
        h = .Offset(.Rows.Count, 0).Top - .Top
    End With
    ' position picture
    With p
        .Top = t
        .Left = l
        .Width = w
        .Height = h
    End With
    Set p = Nothing
End Sub

Open in new window

0
 
LVL 53

Assisted Solution

by:Rgonzo1971
Rgonzo1971 earned 2000 total points
ID: 41727627
then try

Sub TestInsertPictureInRange()
    InsertPictureInRange "C:\Drawings\test.pdf", _
        Range("A79:J87")
End Sub

Sub InsertPictureInRange(PictureFileName As String, TargetCells As Range)
    ' inserts a picture and resizes it to fit the TargetCells range
    Dim p As Object, t As Double, l As Double, w As Double, h As Double
    If TypeName(ActiveSheet) <> "Worksheet" Then Exit Sub
    If Dir(PictureFileName) = "" Then Exit Sub
    ' import picture
    
    Set pdf = ActiveSheet.OLEObjects.Add(Filename:=PictureFileName, Link:=False, DisplayAsIcon:=False)
    pdf.Copy
    pdf.Delete
    Set Rng = TargetCells.Cells(1)
    Rng.Activate
    ActiveSheet.PasteSpecial Format:="Picture (JPEG)", Link:=False, DisplayAsIcon:=False
    
    ' determine positions
    With TargetCells
        t = .Top
        l = .Left
        w = .Offset(0, .Columns.Count).Left - .Left
        h = .Offset(.Rows.Count, 0).Top - .Top
    End With
    ' position picture
    Set s = Selection
    With s
        .Top = t
        .Left = l
        .Width = w
        .Height = h
    End With
    Set s = Nothing
End Sub

Open in new window

1
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:maverick0728
ID: 41727665
That is better - shows a temporary name of the pdf  temppdf.bmp
I actually want to show an image of the PDF file contents.  Can this be done?
testimage.bmp
0
 
LVL 53

Expert Comment

by:Rgonzo1971
ID: 41727678
and what is "c:\Drawings\test.pdf"

shouldn't be an icon since
 DisplayAsIcon:=False
0
 

Author Comment

by:maverick0728
ID: 41727692
"c:\Drawings\test.pdf" is a pdf with this image:
testimage.bmp
0
 
LVL 53

Expert Comment

by:Rgonzo1971
ID: 41727694
if you run it step by step what is the result at line 14
0
 

Author Comment

by:maverick0728
ID: 41727702
line 14 result is:
line14result.bmp
0
 
LVL 53

Accepted Solution

by:
Rgonzo1971 earned 2000 total points
ID: 41727723
Maybe it's due that your default pdf reader is not acrobat?
0
 

Author Comment

by:maverick0728
ID: 41727775
Could be.  We are using PDF-XChange.  Can it work with PDF-XChange?
0
 
LVL 53

Expert Comment

by:Rgonzo1971
ID: 41727923
No experience with it but maybe by changing temporarily the default program to acrobat reader it could work
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Freeze panes is an option within all variants of Excel to enable parts of a sheet to remain stationary when the cursor is in another part of the sheet. This is a very useful feature which is overlooked or under used.
This article describes a serious pitfall that can happen when deleting shapes using VBA.
This Micro Tutorial will demonstrate in Microsoft Excel how to add style and sexy appeal to horizontal bar charts.
This Micro Tutorial demonstrates in Microsoft Excel how to consolidate your marketing data by creating an interactive charts using form controls. This creates cool drop-downs for viewers of your chart to choose from.

609 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question