首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Salesforce的visualforce页面中以pdf格式显示/下载web服务响应(blob

在Salesforce的visualforce页面中以pdf格式显示/下载web服务响应(blob)。

Visualforce是Salesforce平台上的一种开发框架,用于创建自定义的用户界面。它允许开发人员使用标记语言和Apex代码创建页面,以满足特定的业务需求。

要在Visualforce页面中以PDF格式显示或下载Web服务响应(blob),可以按照以下步骤进行操作:

  1. 创建Visualforce页面:首先,创建一个Visualforce页面,用于显示或下载PDF文件。可以使用Visualforce标记语言和Apex代码来定义页面的布局和逻辑。
  2. 调用Web服务:使用Apex代码调用Web服务,并获取响应数据。在这种情况下,响应数据是一个blob对象,表示二进制数据。
  3. 转换为PDF格式:使用Apex代码将blob对象转换为PDF格式。Salesforce提供了一个名为Blob.toPDF()的方法,可以将blob对象转换为PDF格式的文件。
  4. 显示或下载PDF文件:在Visualforce页面中,使用Apex代码将PDF文件显示给用户或提供下载链接。可以使用<apex:outputPanel>标签来显示PDF文件,或者使用<apex:commandLink>标签创建一个下载链接。

以下是一个示例代码,演示如何在Visualforce页面中以PDF格式显示或下载Web服务响应(blob):

代码语言:txt
复制
<apex:page controller="PDFController">
    <apex:form>
        <apex:commandButton value="Generate PDF" action="{!generatePDF}" rerender="pdfPanel"/>
        <apex:outputPanel id="pdfPanel">
            <apex:outputPanel rendered="{!showPDF}">
                <apex:iframe src="{!pdfURL}" width="100%" height="500px"/>
            </apex:outputPanel>
            <apex:outputPanel rendered="{!showDownloadLink}">
                <apex:commandLink value="Download PDF" action="{!downloadPDF}"/>
            </apex:outputPanel>
        </apex:outputPanel>
    </apex:form>
</apex:page>
代码语言:txt
复制
public class PDFController {
    public Blob pdfBlob { get; set; }
    public Boolean showPDF { get; set; }
    public Boolean showDownloadLink { get; set; }
    public String pdfURL { get; set; }
    
    public void generatePDF() {
        // Call the web service and get the response as a blob
        // Replace the following code with your actual web service call
        // This is just a sample code to demonstrate the concept
        HttpRequest req = new HttpRequest();
        req.setEndpoint('https://example.com/webservice');
        req.setMethod('GET');
        HttpResponse res = new Http().send(req);
        pdfBlob = res.getBodyAsBlob();
        
        // Convert the blob to PDF format
        pdfBlob = pdfBlob.toPDF('Sample PDF');
        
        // Set the flags to show the PDF and download link
        showPDF = true;
        showDownloadLink = true;
        
        // Generate a unique URL for the PDF file
        pdfURL = '/servlet/servlet.FileDownload?file=' + EncodingUtil.urlEncode('Sample.pdf', 'UTF-8');
    }
    
    public PageReference downloadPDF() {
        // Set the response headers to download the PDF file
        PageReference pdfPage = new PageReference('/servlet/servlet.FileDownload?file=' + EncodingUtil.urlEncode('Sample.pdf', 'UTF-8'));
        pdfPage.getHeaders().put('Content-Disposition', 'attachment; filename=Sample.pdf');
        return pdfPage;
    }
}

在上述示例中,PDFController类包含了一个generatePDF()方法,用于调用Web服务并生成PDF文件。该方法将blob对象转换为PDF格式,并设置标志位来显示PDF文件和下载链接。downloadPDF()方法用于设置响应头,以便用户可以下载PDF文件。

请注意,上述示例中的Web服务调用部分仅作为演示目的。实际情况中,您需要根据您的具体需求和Web服务的要求来实现相应的代码。

推荐的腾讯云相关产品:腾讯云对象存储(COS) 腾讯云对象存储(COS)是一种高可用、高可靠、弹性扩展的云存储服务,适用于存储和处理任意类型的文件。您可以使用腾讯云对象存储(COS)来存储和管理生成的PDF文件,并通过生成的URL链接在Visualforce页面中显示或下载。

更多关于腾讯云对象存储(COS)的信息,请访问以下链接: https://cloud.tencent.com/product/cos

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Salesforce Integration 概览(七) Data Virtualization数据可视化

•是否将数据存储云端或后台系统,但希望Salesforce组织显示或处理这些数据? •Salesforce存储某些类型数据时,您是否有数据驻留问题? 三....web服务API发出特殊数据请求访问和更新外部系统数据。...Visualforce页上用户启动操作然后调用Apex控制器操作,该操作执行此代理Apex类执行远程调用。Visualforce页面需要定制Salesforce应用程序。...使用Salesforce REST API。自定义Visualforce页面或按钮同步方式启动Apex HTTP调用(REST服务)。...Visualforce页上用户启动操作然后调用Apex控制器操作,该操作执行这些代理Apex类执行远程调用。Visualforce页面需要定制Salesforce应用程序。

1.7K20

Salesforce Integration 概览(二) Remote Process Invocation—Request and Reply(远程进程调用--请求和响应)

本篇参考:https://resources.docs.salesforce.com/sfdc/pdf/integration_patterns_and_practices.pdf 我们项目中,经常会遇见一个自定义页面的按钮或者一个...当满足以下条件时,最好使用此功能特性: •外部托管服务是RESTful服务,并且这个定义OpenAPI 2.0 JSON格式下可用。...这种场景Salesforce app需要Visualforce页面和Lightning页面自定制。...自定义Visualforce页面或按钮同步方式启动Apex HTTP callout BEST Salesforce使您能够使用标准GET、POST、PUT和DELETE方法调用HTTP服务。...Visualforce页面需要在Salesforce APP自定义 Salesforce数据更改以后通过trigger同步方式调用一个 apex SOAP或者一个 http callout Suboptimal

1.3K40

Salesforce页面开发工具—Visualforce介绍

Visualforce是一个基于Web开发框架,开发人员可以托管平台上开发桌面和移动端上复杂,自定义用户界面。...当有人访问一个页面服务器执行相应操作将页面呈现为HTML,并将结果返回给浏览器显示。 ?...哪些地方可以用到Visualforce? Salesforce提供了一系列你可以组织内使用Visualforce方法。...2、Salesforce1显示Visualforce页面 使用Visualforce创建自定义移动应用,并将它们添加到Salesforce1应用中提供给用户使用。 ?...3、一个标准页面显示Visualforce页面 通过植入Visualforce页面标准页面展示完整自定义内容 ? 4、通过覆盖标准按钮或链接显示Visualforce页面 ?

2.4K20

Salesforce架构师网络最佳实践

地理上更接近Salesforce数据中心(即:,以及其他远程站点(例如。)。 使用相同浏览器和用户(或用户集)访问目标(例如,Visualforce页面),排除尽可能多变量。...当这样做时,不要太过迷于字节大小,工具会显示每个被下载资源。交换数据不会按位(或按字节交换数据)进行。它们分组形式通过电线传送。...通过仔细选择用户所需字段和使用诸如分页之类技术,限制页面上加载和显示数据量。...您可能还会发现,除了salesforce提供资源之外,对其他资源访问也显示出性能问题。 避免重定向——每个重定向添加到整个RTT,并导致许多往返重定向服务往返,完成SSL握手。...总结 确保您页面加载时间目标不仅在您开发实验室设置得到满足,而且对于具有额外延迟或次优网络连接远程用户也是如此。研究web页面优化技术以及消除网络瓶颈减少网络时间。

54220

【Visual Force学习】使用简单变量和公式

介绍全局变量及 Visualforce 表达式 Visualforce 页面能够显示从数据库或 Web 服务得到数据, 根据登录人以及浏览页面的用户不同数据也可随之变化等。...标记,使用全局变量、运算和由页面的控制器设定属性来访问此动态数据。这三种统称为 Visualforce 表达式。给表达式指定属性可以实现动态输出或将值传递到组件。...全局变量 Visualforce标记,使用全局变量来访问及显示系统值和资源。 例如:Visualforce 名为$User全局变量中提供了有关登录人信息。...CONTAINS('salesforce.com', 'force.com') } 页面显示为如下效果: ?...页面 •使用 Visualforce 表达式函数

1.1K20

Salesforce Lightning Experience(闪电体验)提高性能和速度

由于客户端设备和远程web服务器之间延迟问题;或客户网络拓扑,如虚拟专用网络,Salesforce环境重新路由到客户org之前,需要通过公司办公室或数据中心路由通信。...潜在缓解措施 优化您Visualforce页面: 遵循我们优化Visualforce性能开发人员文档最佳实践中提供指导方针。...第一个选项卡上显示最需要信息,并将辅助信息移动到后面的选项卡上。将不太重要组件移动到一个或多个Lightning页面选项卡之后。不在主选项卡组件不会在初始页面加载呈现,而是只按需呈现。...例如,将新闻和Twitter组件移动到次要“新闻”选项卡。 所示。细节:将细节组件放置辅助选项卡,或者减少显示细节面板字段。这将对组件呈现时间产生线性影响。 所示。...相关列表:将相关列表组件放在辅助选项卡,可以使用新“相关列表”组件页面显示一个或两个关键相关列表。将相关列表数量减少到3个或更少。

1.9K20

Salesforce Integration 概览(三) Remote Process Invocation—Fire and Forget(远程进程调用-发后即弃)

考虑因素:基于此模式应用解决方案时需要考虑以下因素。   •对远程系统调用是否要求Salesforce继续处理之前等待响应?对远程系统调用是同步还是异步?   ...远程服务必须能够参与Salesforce提供契约contract-first集成。收到消息后,如果远程服务没有肯定的确认做出响应Salesforce将重试发送消息,从而提供一种保证传递形式。...此外,解决方案必须处理代码消息有保证传递。类似于远程进程调用请求和应答模式解决方案,该解决方案指定使用Visualforce页面或Lightning组件以及Apex callout。...必须在远程服务执行错误处理,因为消息“Fire And Forget”方式有效地传递给远程系统。 恢复—由于此模式是异步,系统必须根据服务服务质量要求启动重试。...此外,平台事件不会在数据库事务处理。因此,已发布平台事件无法事务回滚。 恢复—由于此模式是异步,远程系统必须根据服务服务质量要求启动重试。

1.5K10

salesforce 零基础开发入门学习(六)简单数据增删改查页面的构建

VisualForce封装了很多标签用来进行页面设计,本篇主要讲述简单页面增删改查。...使用内容和设计到前台页面使用标签相对简单,如果需要深入了解VF相关知识以及标签, 可以通过以下链接查看或下载: https://resources.docs.salesforce.com/200/latest.../en-us/sfdc/pdf/salesforce_pages_developers_guide.pdf 下面一个单一表进行数据增删改查。...注:本篇只是采用最简单方式来实现页面显示数据表增删改查,没有使用到类似js,ajax等。实际工作中经常会用到这些,具体例子以后详细说明。如果需要学习相关知识,请查看官方文档或上方PDF链接。...key为goodsIdvalue,goodsId页面通过封装。

1.6K50

学习创建你第一个Visualforce页面

Visualforce 使用传统模型-视图-控制器(MVC) 范例。其中包括复杂内置控制器来处理标准动作和数据访问,实现与 Force.com 数据库简单但紧密集成。...接下来我们将会创建一个 Visualforce 页面,让大家对Visualforce有一个初步认识: 创建 Visualforce 页面 Developer Edition ,使用开发控制台,你可以云端创建新编程要素...第一步,你将会创建并查看一个简单 Visualforce 页面页面右上方,点击你名字之后点击菜单栏 Developer Console。...创建页面 apex:page 标记内,输入 Hello,页面的标记将显示为如下: ? 5. Developer Console,选择 File > Save 保存当前页面 6....这里需要注意两件事: 无需对输出文本进行任何特别的操作 通过添加apex/page_name到Salesforce实例,可以查看 Visualforce 页面,之后步骤中会用到这项操作 好了,今天就到这里

78820

salesforce 零基础学习(四十七) 数据加密简单介绍

对于一个项目来说,除了稳定性以及健壮性以外,还需要有较好安全性,此篇博客简单描述salesforce关于安全性一点小知识,特别感谢公司nate大神和鹏哥让我学到了新得知识。...B是A子sobject。表单中元素显示是B相关字段,这些字段A也全部包含。...分析:(第一种开发人员很容易想到,能解决但是效率低且影响性能) 1.最开始考虑是通过visualforce自带remoting方式提交这两个字段,通过Visualforce.remoting.Manager.invokeAction...2.将2组和3组涉及隐私字段值通过某种加密或者签名方式通过方式传到前台,前台输入框内容同样规则加密方法进行加密,此种加密方法不可逆,比较两个加密值,如果相等...主要代码: 1 Blob hashNumber = Crypto.generateDigest('SHA1',Blob.valueOf('the content you need to crypto')

72350

Salesforce 集成篇零基础学习(一)Connected App

客户端将Access token传递给资源服务器,请求访问受保护资源。授予客户端访问权限之前,资源服务器先验证访问标记和附加权限。...Provide access to custom applications (visualforce):只允许用户访问用户创建VF页面,这个scope不允许访问标准salesforce UI。...例如,对于 MuleSoft Anypoint Platform 托管 API 网关,Salesforce 可以作为 OAuth 授权服务器。...我们正常在app launcher搜索app都带有图标,如果我们希望这个 connect appapp launcher展示里面拥有自己图标,就设置这一项; Info URL:如果 Web 页面包含有关应用程序更多信息...; Encrypt SAML Response:如果需要选择加密 SAML 响应系统浏览证书并将其上载。

2.5K20

salesforce 零基础学习(二十八)使用ajax方式实现联动

之前一篇介绍过关于salesforce手动配置关联关系实现PickList联动效果,但是现实开发,很多数据不是定死,应该通过ajax来动态获取,本篇讲述通过JavaScript Remoting...上图为PDF基本介绍,VF调用格式如下: 1 Visualforce.remoting.Manager.invokeAction ( '{!...2.ProvinceCityController制作 此类应该实现以下功能: 1.加载需要显示省; 2.选中某个省后通过省得ID获取此省对应所有的市。...页面包含两个下拉框,选择省以后才可以显示市,选择市以后弹出对话框显示ID__c 页面代码如下: 1 <apex:page controller="ProvinceCityController"...当选择黑龙江以后,右侧市便会显示黑龙江省所包含市。 ? 当选中具体item,会弹出此城市对应ID__c。 ?

1.1K90

可能是Salesforce与Microsoft Dynamics 365最全面的比较

新版本 微软遵循客户关系管理敏捷发布周期,并根据需要每年发布2到3个版本服务更新。微软有一个What's new页面,可下载新版本PDF链接。...Salesforce Enterprise和Unlimited版本Salesforce允许使用Apex(Salesforce专有开发语言)以及用于自定义用户界面设计Visualforce进行高级自定义...自定义报表类型允许管理员定义创建报表时向用户显示哪些对象,以及定义这些显示对象之间关系进行跨对象报表。 最多可以将四个对象与自定义报表类型相关联。 ?...Lightning Enterprise及更高版本,报表可以按计划自动通过电子邮件发送给获得许可Salesforce用户。 报表数据作为格式化文本显示电子邮件正文中。...Microsoft Dynamics 365允许选择多种仪表板格式。 ? Microsoft Dynamics 365仪表板是实时,可以应用程序任何实体显示

5.9K40

salesforce零基础学习(八十四)配置篇: 自定义你home page layout

当我们进入salesforce系统或者切换app后,默认第一个看到就是home页面。...有时,不同简档用户需要看到不同Home页面组件或者显示不同custom link等操作,这时我们就需要针对不同简档配置不同home page layout。配置步骤如下: 一....2.输入custom home page layout 名称,勾选需要显示左侧和中间部分需要显示组件; ? 3.调整顺序并点击save & assign; ?...Links类型为可以创建一个自定义链接展示component,后面会详细描述Links类型展示,下面针对Image/Logo,HTML Area 以及Visualforce Area 类型简单描述...使用富文本编辑器按照要求创建需要富文本内容以及格式后点击Save; ?   更改Home Page Layout,选择Test Html Area后更改显示顺序点击Save.下图为显示效果。 ?

1.3K50

salesforce零基础学习(八十九)使用 input type=file 以及RemoteAction方式上传附件

classic环境,salesforce提供了标签用来实现附件上传以及内容获取。...salesforce 零基础学习(二十四)解析csv格式内容中有类似的使用此标签进行解析附件内容,后台只要声明String类型变量用来存储附件名称,Blob类型变量用来存储附件内容即可。...本篇主要通过 JavaScriptFileReader对象,将文件进行base64编码,然后后台进行base64解码来实现Blob对象传递到后台。...2.找到对应Account,附件已经成功绑定上传。 ? 总结:此篇主要描述使用 input type=file时,salesforce针对上传附件处理。...篇还有好多地方可以优化,比如 javascript remoting也有最大传输限制,String字符串也有最长限制, FileReader不是所有的浏览器都兼容。

1.4K10

salesforce功能_salesforce开发

原来Account和Opportunity上都有Type标准字段,如果记录这个Picklist有值,则显示实际值,否则显示合理类型 What.Type方案:对于包含标准Type字段标准对象,我们不妨像...72、【判断字符串是否特定值结尾】: field.toLowerCase().endsWith('id'); 71、【判断字符串是否为Salesforce ID】:Salesforce sObject...,点击Update后,Sublime打开文件;使用同样档方法将UAT相关文件下载到本地,然后直接复制粘贴简档文件档元数据覆盖UAT即可。...HomeTab Settings显示Default On,Tab面板和Tabcustomize列表并没有看到Home?...,这里是Id(使用rest服务请求获取到uri后从uri取得id) HttpDelete步骤: 1、创建ResrRequest对象req 2、声明caseId,并将rest请求到uri截取/后值赋给该变量

6.8K20

SalesforceCTI集成

最吸引人地方就是你无需下载CTI服务商特定适配器。Open CTI另一优势是基于IE浏览器。使用浏览器作为CTI接口客户端—因此可以允许开发人员自主使用云架构。 ?...服务星号组件拨号给终端用户并通知AJAM组件正式建立通话,并允许这些组件执行额外操作,类似记录,传输或监控。AJAM连接程序也会帮助获取联系人列表以及来电显示数据。 ?...使用电话服务商提供API来集成CTI 2000年,Salesforce处于快速发展阶段,只有很少方法可以将通知推送到浏览器。这些方法会因为网络速度缓慢以及低效浏览器通信而产生显著滞后性。...由于这些技术限制,基于桌面电话适配器被利用来直接将客服人员计算机与电话服务提供商使系统工作CTI-to-Desktop模型来代替CTI-To-Salesforce-To-Browser模型,从而减少他们之间滞后...这个适配器被称为salesforce.comCTI适配器。 ? 贯穿整个过程,每一个进入到Salesforce信息都会通过基于桌面的电话服务提供者适配器。

1.4K40

salesforce零基础学习(一百一十六)workflow -> flow浅谈

自动布局,点击连接器上添加节点来添加一个元素,或者点击一个元素来查看该元选项,如复制元素或删除元素。 Toolbox: 自由格式,使用元素选项卡来添加新元素,如屏幕和创建记录。...自由格式和自动布局,使用管理器选项卡来创建变量、阶段、选择和其他资源用于你流程。或者查看你添加所有元素和资源列表。...除了以上,还需要记住一下快捷键  ctrl + /,这个快捷键可以显示出所有的 Flow快捷键操作。 2....:代表 Flow在运行时定义一个有效路径 Resource:代表整个 Flow流程可以引用值 二....需要强调是,Record Triggered Flow相对来说已经是很容易入门了,process automation响应了SF low / no code宗旨,后续项目中所占比例可能还会不断提升

1.1K10

SAP 前端技术演化史简介

Component Framework Visualforce 我也画了张简单图: ?...到了1992年出现了类似JSP技术BSP(business server page),能够借助服务器端执行ABAP语言实现动态网页效果。...值得一提是,BSP技术兼容普通HTML/JavaScript应用,换句话说,几乎所有能运行在除Netweaver以为web服务器上基于HTML/JavaScriptweb应用,也能以BSP为载体...对这两种前端技术详细介绍,请参考Jerry之前提到微信文章:SAP UI和Salesforce UI开发漫谈,这里不再重复,只是聊聊一些该文章没有提过内容。...而WebUI继承了BSP所有优点同时,BSP基础上提供了对MVC封装,使得开发效率大大提高,同时开发出来Web应用结构清晰,不再会出现一个视图页面几千行代码情况。

46140
领券